精华内容
下载资源
问答
  • Sub 自动空格() 本程序为发送网络信息而编制,宏运行后,将删除当前文章内所有的全半角空格,并为每段落加上两全角空格 删除所有半角空格 Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting...

    Sub 自动加空格()
    '
    ' 本程序为发送网络信息而编制,宏运行后,将删除当前文章内所有的全半角空格,并为每个段落加上两个全角空格

        '删除所有半角空格
        Selection.HomeKey Unit:=wdStory
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = " "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        '删除所有全角空格
        Selection.HomeKey Unit:=wdStory
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = " "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
       
        '此行将光标定位到第一行,为每个段落加空格
        Selection.HomeKey Unit:=wdStory
        For i = 0 To ActiveDocument.ActiveWindow.Document.BuiltInDocumentProperties(wdPropertyParas)
            Selection.TypeText Text:="  "
            Selection.MoveDown Unit:=wdParagraph, Count:=1
        Next i
       
    End Sub

    展开全文
  • 博客帮助文档

    万次阅读 多人点赞 2019-12-10 16:52:31
    如何开通企业博客 企业博客已经开通在线申请功能,点击这里开通企业博客 CSDN管理员收到您的申请后,会2工作日内开通服务。如有问题可以直接发信至tobblog@csdn.net咨询。 博客勋章 博客专家 CSDN给予质量较...

    目录

    博客积分规则

    博客等级

    C币规则(试运营)

    博客VIP文章说明

    博客专家

    如何成为博客专家?

    企业博客

    如何开通企业博客

    博客勋章

    分类专栏

    博客搬家

    CSDN博客用户准则

    总则:

    博客注册

    博客行为规则

    被投诉侵权用户处理规则

    附则

    博客评论活跃等级规则(试运营)

    Markdown帮助

    付费专栏开通规则


    博客积分规则


    博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下:

    • 1、每发布一篇原创或者翻译文章:可获得10分;
    • 2、每发布一篇转载文章:可获得2分;
    • 3、博主的文章每被评论一次:可获得1分;
    • 4、每发表一次评论:可获得1分(自己给自己评论、博主回复评论不获得积分);
    • 5、博文阅读次数每超过100次:可获得1分,阅读加分最高加到100分,即文章点击上万次截止;
    • 6、文章被管理员或博主本人删除,相应减去博主基于该篇博文所获得的分数;
    • 7、评论被管理员或博主删除,相应减去发评论者和博主基于该评论各自获得的分数(博主应减积分不会动态实时去掉,是每周固定时间清理一次);
    • 8、另外会开设相应的抄袭举报功能,一旦举报证实某篇原创文章抄袭,将扣除博主该篇文章相应的得分。

    博客等级


    图标 等级 所需积分
    L1 0
    L2 100
    L3 400
    L4 800
    L5 1600
    L6 4500
    L7 9000
    L8 25000
    L9 50000
    L10 100000
    L11 200000
    L12 300000
    L13 500000
    L14 800000
    L15 1000000

    C币规则(试运营)


    什么是C币

    查看详细C币规则

    博客VIP文章说明


    博主专享福利,发付费文章后可获得返利。

    VIP文章即读者购买VIP付费后才可解锁阅读的文章,拥有VIP文章发表权限的作者可以发表VIP文章。

    发VIP文章,根据文章购买转化数据返利(详见收益中心:https://order.csdn.net/myorder/revenue

    如何取消VIP可读:进入该篇文章的编辑页面,在“发布形式”模块取消选择“VIP可见”重新发布

    博客专家


    “博客专家”是CSDN给予质量较高、影响力较大的IT类博客的荣誉称号,代表了CSDN官方对其博客的肯定。

    成为博客专家后会得到什么:

    • 用户头像上显示“专家”勋章;
    • 发布博客时可以直接引用CSDN站外的图片;
    • 有机会免费参加CSDN举办的各种会议;
    • 有机会成为CSDN学院讲师、CSDN博乐、CSDN问答导师等;
    • 有更多演讲机会,CSDN会推荐给厂商或者各种IT技术大会作为演讲嘉宾;
    • 享有月度原创奖励,C币、图书或定制礼品;
    • 享有自定义模块、自定义域名、全站免广告等权益;
    • 文章获得更多的推荐机会:博客专家所发的文章都会进入文章预选库,我们有专门的编辑负责从中筛选优质内容,并推荐到CSDN首页或其他内容频道。

    注意情况:

    • 所有博客专家(包括荣誉专家)均为实名制;
    • CSDN博客专家在三个月内如果没有发布任何原创或翻译博文,其博客专家身份将自动取消,转为博客频道荣誉专家,不能继续享有博客专家的福利;
    • CSDN博客专家不是CSDN博客的全职或兼职管理人员,不具备CSDN博客的管理权力,其观点及行为仅代表个人,不代表CSDN官方立场;
    • CSDN博客专家如有违反CSDN网站规则的行为,如大量发布广告或软文,对CSDN网站造成不良影响等,将永久取消其CSDN博客专家身份;希望恢复博客专家身份可重新申请,点击这里申请博客专家

    如何成为博客专家?


    申请CSDN博客专家应具备的条件:

    1. 在CSDN坚持写作三年及以上;
    2. 原创技术文章总数超过100篇,并且最近6个月内有一定的活跃度;
    3. 博客文章总浏览量超过20万次以上,同时参考点赞、评论、收藏等交互数据;
    4. 原创文章占比80%以上,且文章内容有一定深度;
    5. 企业、团队等非个人开设的博客,需要原创技术文章总数超过150篇,并且最近一个月内发布了新的原创技术文章,博文总浏览量超30万次才能申请博客专家;
    6. 其他情况:
    • 在CSDN学院成功发布过课程的博主可适当放宽要求;
    • 如果已经在某IT领域具有较大影响力,但是尚没有达到上述申请条件的用户,可以通过现有博客专家或者CSDN编辑部的推荐,暂时成为“特约专家”,待达到上述条件之后,再转为正式的博客专家(申请用户自成为“特约专家”后六个月内如仍未达到CSDN博客专家应具备的条件,则“特约专家”身份取消)。

    CSDN已开通博客专家在线申请功能,点击这里申请博客专家

    企业博客


    CSDN企业博客旨在利用CSDN站内流量、内容、用户等资源,为技术型企业提供营销推广平台
    企业博客免费版主要功能如下:

    1、优质企业博文可提高推荐权重;

    2、支持设置自定义主题图,方便更换企业品牌形象及广告图;

    3、企业博客内无联盟广告展示;

    4、企业博客有专属身份标识;

    5、企业博客内的相关推荐内容为该企业自己的博文;

    6、支持设置自定义背景色,支持添加自定义链接导航(目前最多可添加五个);

    7、支持百度关键词查询;

    8、搜索专区。

    如何开通企业博客


    企业博客已经开通在线申请功能,点击这里开通企业博客

    CSDN管理员在收到您的申请后,会在2个工作日内开通服务。如有问题可以直接发信至tobblog@csdn.net咨询。

    博客勋章


     博客专家

    CSDN给予质量较高、影响力较大的IT类博客的荣誉称号,代表了CSDN官方对其博客的肯定。成为博客专家后会得到我们一系列的服务,如在头像上加象征荣誉的专家勋章、有专人对接提供服务、文章获得更多的推荐机会、不定时获得CSDN的礼品、优先获得CSDN举办的各种会议的的门票等。

    博客之星 博客之星

    授予在“CSDN年度博客之星评选”中获得“博客之星”称号的用户。为了鼓励专业、乐于分享的广大CSDN博客用户。每年12月的CSDN博客之星评选中,综合专家评审和大众投票的结果,评选出“CSDN年度博客之星”。

    勋章icon 1024勋章

    #1024程序员节#活动勋章,当日发布原创博客即可获得

    1024超级勋章 1024超级勋章

    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。

    勋章icon 勤写标兵Lv1

    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv2

    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv3

    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv4

    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    分类专栏


    分类专栏是把相同标签属性的技术博文聚集起来,集中展示,系统全面,更具目标性。CSDN鼓励每位博主撰写专属自己的专栏博文,构建自己的知识体系。

    发布分类专栏建议:

    1. 每个专栏至少发布10篇原创技术博文。

    2. 博文紧扣专栏主题,技术定位清晰,内容扎实详尽。

    CSDN博客频道编辑定期会把精华分类专栏荐给相应的受众群体。

    博客搬家


    CSDN是IT技术网站,欢迎大家发布原创或翻译IT技术类博客,非IT技术类博客将不提供搬家服务。博主可以点击这里申请博客搬家。

    CSDN推出博客搬家功能,目前支持以下站点的博客搬迁:博客园,微信公众号,简书,51CTO.com,新浪,开源中国,chinaUnix,个人博客,掘金,GitHub,知乎,segmentfault

    温馨提示:

    • 原创技术文章不能少于10篇方可申请。
    • 原博客数据不会丢失,仍然保留。
    • 如果检测到恶意导入,您的博客使用将会受到影响。
    • 审核通过的搬家申请,会持续与搬家源进行内容同步(个人博客和github同步历史文章)。
    • 审核时间一般为1个工作日,审核结果将通过站内信等方式告知。
    • 同一个站点只允许进行1次搬家申请,如申请失败则需要重新申请。

    对博客搬家有任何问题或建议请向博客客服邮箱发邮件咨询:webmaster@csdn.net。

    声明:CSDN用户要完成博客搬家需要承诺搬迁的博客为用户本人博客,如搬迁非用户本人博客所产生的后果由用户本人承担。


    CSDN博客用户准则


    总则:

    第1条 CSDN博客隶属于CSDN(包括CSDN网站与相应客户端、自媒体平台、主运营网站等),是为中国的软件开发者、IT从业者及其他人员提供以交流IT技术为主的网络社区。

    第2条 为保障CSDN博客健康发展,维护用户正当权益,规范信息发布行为,依据国家有关法律、法规、政策及CSDN相关规定,制定本博客用户准则(以下称“本准则”)。

    第3条 CSDN经营者(即北京创新乐知网络技术有限公司及其他相关联的公司)无法对用户传播内容的权属、合法性、真实性、科学性、完整性等问题进行实质审查,博客用户须对自己发布的内容独立承担责任,CSDN经营者不承担因此产生的任何法律责任。

    第4条 为保障CSDN博客的专业性与集成性,博客用户的交流不得涉及任何政治话题,CSDN博客用户须严格按照本准则的规定行使权利和履行义务。

    博客注册

    第1条 拟注册用户在CSDN博客进行注册时,需要按照提示填写详尽的用户信息(包括但不限于姓名或名称、身份证号码、邮箱、联系方式等),并对提供信息的真实性负责。在用户信息发生变动时,用户有责任及时更新、修改信息。如果博客用户提供的信息资料不准确,CSDN经营者保留终止用户使用CSDN博客提供的相关网络服务的权利。

    第2条 CSDN博客用户因提供用户信息不真实、不准确等而发生纠纷或需要帮助时,因不能确认用户身份及其帐号的使用权利,无法向用户提供相应的帮助所带来的一切后果由用户自己承担。

    第3条 CSDN经营者尊重用户隐私,未经用户合法授权,不会公开或透露其注册资料。

    第4条 用户注册并激活成功后,便成为CSDN博客的正式用户,正式博客用户拥有CSDN博客规定用户所应享有的一切权限。用户将获得一个用户名和密码,用户对自己的用户名、密码及帐号安全性负全部责任。用户同意,若发现任何非法使用帐号、密码或存在安全漏洞等其它有损用户利益的情况,应立即通知CSDN经营者。每个用户都应对以其用户名进行的所有活动和事件负全部责任。

    博客行为规则

    第1条 CSDN博客用户享有言论自由的权利,但不得违反法律法规及政策规定,不得违反诚实信用原则及公序良俗,不得损害国家、CSDN经营者及第三方权利及利益,不得违反CSDN用户协议及相关规则。严禁发表含有下列内容的信息:

    • 1.违反宪法确定的基本原则的;
    • 2.危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
    • 3.损害国家荣誉和利益的;
    • 4.煽动民族仇恨、民族歧视,破坏民族团结的;
    • 5.破坏国家宗教政策,宣扬邪教和封建迷信的;
    • 6.散布谣言,扰乱社会秩序,破坏社会稳定的;
    • 7.散布淫秽、色情、赌博、暴力、恐怖或者教唆犯罪的;
    • 8.侮辱或者诽谤他人,侵害他人合法权益的;
    • 9.煽动非法集会、结社、游行、示威、聚众扰乱社会秩序的;
    • 10.以非法民间组织名义活动的;
    • 11.可能教唆他人犯罪的;
    • 12.可能损害CSDN经营者名誉或商誉等权益的;
    • 13.其他违反中华人民共和国法律、法规、政策,违反诚实信用及公序良俗,或CSDN经营者认为不当及不宜传播的信息。 CSDN博客用户违反上述规定的,CSDN经营者有权在不通知用户的情况下,根据其独立判断,采取删除已发表言论,暂停账户使用,直至取消用户资格等措施。

    第2条 CSDN博客用户发表的文章、言论或其他信息仅代表其自身观点与立场,CSDN经营者不对用户发表内容的准确性、合法性、完整性负责。博客用户须承担一切因自己的行为而直接或间接导致的民事、行政或刑事法律责任。在任何情况下,CSDN经营者不承担因用户发表内容而引起的任何损失、损害的法律责任。

    第3条 CSDN博客用户不得发布非IT技术内容。

    第4条 未经CSDN经营者同意,禁止在博客发布与CSDN提供服务无关的广告。博客管理规则

    第1条 CSDN博客的管理权限由博客管理员享有,博客管理员由CSDN经营者正式全职员工担任,并由其按照相关法律、法规、政策以及CSDN规则行使本博客全部站务管理职责和权利,管理员代表本博客官方立场,除管理员之外的任何用户及网友言论或行为,由相关人员自行承担,均与本博客无关。

    第2条 用户恶意破坏CSDN博客版块正常秩序(包含但不限于恶意投票、刷流量、刷评论、利用自定义栏目传播病毒、垃圾广告、非法信息等)的,CSDN经营者有权视情节轻重给予警告、删帖、暂停账号使用、注销帐号等处理,并依法追究民事责任及其他法律责任。

    被投诉侵权用户处理规则

    第一次:封杀,解封时要求文章改为转载并注明出处

    第二次:封杀一个月,给予严重警告,解封时要求文章改为转载并注明出处

    第三次:不予解封

    附则

    第1条 CSDN提示博客用户,在用户与通过博客相识的其他用户进行交往时,应遵循谨慎原则。对于博客用户之间相识、交往所发生或可能发生的任何心理、身体上的伤害和经济上的损失与纠纷,由相关用户自行承担一切法律责任,CSDN经营者不承担任何法律责任。

    第2条 本准则如存在与国家法律、法规或司法解释、政策等有冲突的条款,以届时有效的国家法律、法规或司法解释、政策等为准。本准则的其余条款仍然有效并具有约束力。

    第3条 CSDN经营者有权对本准则进行修改,相关条款修改后,CSDN经营者将在相关页面公布修改的内容,修改后的条款一经公布即有效的代替原条款。用户如不同意相关条款的修改,可立即停止访问或使用CSDN博客或取消已经获得的服务;如用户选择在本准则修改后继续访问或使用CSDN博客,则视为用户已接受相关条款的修改。

    第4条 用户接受本准则的内容,并不能完全涵盖用户使用CSDN博客所产生的权利和义务,CSDN经营者公布的其他声明、规则等均视为本准则之补充条款,为本准则不可分割的组成部分,与本准则具有同等法律效力。

    第5条 本准则自发布之日起生效。

    第6条 本准则最终解释权归北京创新乐知网络技术有限公司所有。

    博客评论活跃等级规则(试运营)


    评论活跃等级是CSDN对用户在博客评论区活跃程度的辨别标准,旨在鼓励读者和博主互动交流,提高用户活跃度。活跃等级规则具体如下(该规则适用于所有用户):

    • 1、所有用户初始评论次数均为零

    • 2、活跃等级用评论次数衡量,评论次数越多,等级越高

    • 3、超过10天没有进行任何评论,等级称谓变成“潜水”,初始评论次数清零

    • 4、发布评论且审核通过后计算当前的有效评论数,根据当前的有效评论数展示不同的“评论等级称谓”

    • 5、该规则从2020年4月23日起开始执行,在此之前进行的评论不予计算,仅计算该日期以后进行的有效评论

    • 以下是评论次数对应的评论等级称谓

    评论等级称谓 评论次数区间
    潜水 0次
    码哥 1-3次
    码农 4-7次
    码工 8-15次
    码皇 16-31次
    码神 32-63次
    爱码士 64次以上


    Markdown帮助


    # 欢迎使用Markdown编辑器写博客

    ---------------------------

    撤销:Ctrl/Command + Z

    重做:Ctrl/Command + Y

    加粗:Ctrl/Command + B

    斜体:Ctrl/Command + I

    标题:Ctrl/Command + Shift + H

    无序列表:Ctrl/Command + Shift + U

    有序列表:Ctrl/Command + Shift + O

    检查列表:Ctrl/Command + Shift + C

    插入代码:Ctrl/Command + Shift + K

    插入链接:Ctrl/Command + Shift + L

    插入图片:Ctrl/Command + Shift + G

    标题

    ---------------------------

    # 1级标题

    ## 2级标题

    ### 3级标题

    #### 四级标题

    ##### 五级标题

    ###### 陆级标题

    文本样式

    ---------------------------

    *强调文本* _强调文本_

    **加粗文本** __加粗文本__

    ==标记文本==

    ~~删除文本~~

    > 引用文本

    H~2~O is是液体。

    2^10^ 运算结果是 1024。

    列表

    ---------------------------

    - 项目

    * 项目

    + 项目

    1. 项目1

    2. 项目2

    3. 项目3

    - [ ] 计划任务

    - [x] 完成任务

    链接

    ---------------------------

    链接: [link](https://mp.csdn.net).

    图片: ![Alt](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg)

    带尺寸的图片: ![Alt](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg =30x30)

    代码片

    ---------------------------

    下面展示一些 `内联代码片`。

    ```

    // A code block

    var foo = 'bar';

    ```

    ```javascript

    // An highlighted block

    var foo = 'bar';

    ```

    1. 代码片必须手动声明代码语言类型

    2. 目前支持代码类型: `markup`、`html`、`svg`、`xml`、`c`、`clike`、`cpp`、`csharp`、`java`、`vbnet`、`go`、`ruby/rb`、`python/py`、`php`、`sql`、`perl`、`objectivec`、`swift`、`javascript/js`、`css`、`handlebars`、`bash`、`kotlin`

    3. 代码片主题

    默认主题为:Atom One Dark

    可以前往 [**写作中心/博客设置**](https://mp.csdn.net/configure) 在**代码片样式**项进行更改

    表格

    ---------------------------

    项目 | Value

    -------- | -----

    电脑 | $1600

    手机 | $12

    导管 | $1

    | Column 1 | Column 2 |

    |:--------:| -------------:|

    | centered 文本居中 | right-aligned 文本居右 |

    自定义列表

    ---------------------------

    Markdown

    : Text-to-HTML conversion tool

    Authors

    : John

    : Luke

    注脚

    ---------------------------

    一个具有注脚的文本。[^1]

    [^1]: 注脚的解释

    注释

    ---------------------------

    Markdown将文本转换为 HTML。

    *[HTML]: 超文本标记语言

    KaTex 数学公式

    ---------------------------

    Gamma公式展示 $\Gamma(n) = (n-1)!\quad\forall

    n\in\mathbb N$ 是通过 Euler integral

    $$

    \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    $$

    新的数学公式使用了KaTex,其语法与 LaTex基本一致,但也有一些不同的地方,具体请参考KaTex官方使用文档: [https://katex.org/docs/supported.html](https://katex.org/docs/supported.html)

    插入甘特图

    ---------------------------

    ```mermaid

    gantt

    dateFormat YYYY-MM-DD

    title Adding GANTT diagram functionality to mermaid

    section 现有任务

    已完成 :done, des1, 2014-01-06,2014-01-08

    进行中 :active, des2, 2014-01-09, 3d

    计划中 : des3, after des2, 5d

    ```

    插入UML图

    ------------

    ```mermaid

    sequenceDiagram

    张三 ->> 李四: 你好!李四, 最近怎么样?

    李四-->>王五: 你最近怎么样,王五?

    李四--x 张三: 我很好,谢谢!

    李四-x 王五: 我很好,谢谢!

    Note right of 王五: 李四想了很长时间, 文字太长了
    不适合放在一行.

    李四-->>张三: 打量着王五...

    张三->>王五: 很好... 王五, 你怎么样?

    ```

    插入Mermaid流程图

    --------

    ```mermaid

    graph LR

    A[长方形] -- 链接 --> B((圆))

    A --> C(圆角长方形)

    B --> D{菱形}

    C --> D

    ```

    插入Flowchart流程图

    -------

    ```mermaid

    flowchat

    st=>start: 开始

    e=>end: 结束

    op=>operation: 我的操作

    cond=>condition: 确认?

    st->op->cond

    cond(yes)->e

    cond(no)->op

    ```

    付费专栏开通规则


    付费专栏是博主根据自己想变现的意愿而选择的一项可变现的产品,开通付费专栏事项须知:

    • 付费专栏开通提交前,请认真阅读《CSDN付费专栏写作协议》,知晓双方的权利与义务
    • 专栏文章需为原创文章且不少于15篇,每篇文章字数不得少于5000字(包括代码片段内字符数量)
    • 专栏申请需提交审核,审核时间1-2个工作日
    • 专栏定价,博主可以按照从系统已设定好的价格里选择定价
    • 确保专栏内容无违规、违法、广告等不当内容
    • 专栏一旦设置为收费,审核通过以后,无法取消,请谨慎操作

    展开全文
  • 为什么python文档前加 # coding=utf-8

    万次阅读 2018-11-11 20:51:00
    因为如果不编码方式,python文档中加中文注释的时候,会有下列报错 File "encode.py", line 5 SyntaxError: Non-ASCII character '\xe7' in file encode.py on line 1, but no encoding declared; ...

    因为如果不加编码方式,在python文档中加中文注释的时候,会有下列报错

    File "encode.py", line 5
    SyntaxError: Non-ASCII character '\xe7' in file encode.py on line 1, but no encoding declared; see //..python.../dev/peps/pep-0263/ for details for details

    解决方案

    在python源文件第一行或者第二行定义加入

    #coding=utf-8  

    或者 

    # -*- coding: UTF-8 -*-

    最流行的编码方式是:

    #!/usr/bin/python 
    # -*- coding: utf-8 -*-

     

    展开全文
  • RT.是视图分割了以后要用到的。 要根项前加一图标1,同时根项的子项前加图标2 不太了解这块。。麻烦讲详细,万分感谢!
  • PDF文档解密及数字签名技术(三)   读取加密的PDF文档   文说过,加密的PDF文档,其中的字符串和流都是被加密的,要正确的解读这些信息,就要对其进行解密,解密就需要密钥,那么密钥怎么来呢?与加密...

    PDF文档的加解密及数字签名技术(三)

     

    读取加密的PDF文档

     

    前文说过,加密的PDF文档,其中的字符串和流都是被加密的,要正确的解读这些信息,就要对其进行解密,解密就需要密钥,那么密钥怎么来呢?与加密时的情况稍稍不同,在加密字典中的O项和U项可以帮助我们计算密钥,所以下面我们讲解一下如何计算出解读加密PDF文档内容所需的密钥。

     

    仅使用了权限口令加密的PDF文档 

     

    如果一个PDF文档加密时使用了用户口令(User Password),则在打开PDF文档时必须要输入口令才能计算出密钥,这就是为什么PDF阅读器在打开PDF文档时会弹出个对话框让你输入密码了。如何判断一个加密的PDF文档是否使用了用户口令呢?翻到PDF Reference 1.7的127页,算法3.6。


    算法3.6

     

    第一步,根据加密字典中R值的不同,使用算法3.4或者算法3.5用用户口令计算出U项。

     

    第二步,将计算出的U项与加密字典中已有的U项做个比较,如果相同,则用户口令正确。

     

    好,先用空口令尝试用算法3.6进行用户口令校验,如果通过,则说明该文档没有用户口令。没有用户口令的PDF文档,可以直接使用算法3.2计算出全局密钥,计算所需要的一切我们都可以在PDF文档中找到:O项、P项、是否加密Metadata。算出全局密钥再根据算法3.1计算出对象的加密密钥,按照加密字典中声明的加密算法(RC4或AES)进行解密操作就是了。需要一提的是,如果是AES算法,则密文前128位是解密所需的IV,其后才是真正的密文,做解密程序的同学们请注意到这点。

     

    但是根据规范,不提供权限口令,则对该PDF的操作要符合加密字典中P项的限制,例如限制复制内容、限制打印等。不过前文说过了,不符合规范的PDF应用大把,毕竟内容已经完全解密了,怎么操作完全看应用了。最恶劣的当属各类PDF Password Remover之类的程序,会直接根据解密的内容重新生成一个未加密的PDF文档,将加密信息直接抛弃。

     

    使用用户口令加密的PDF文档

     

    如果前述的算法3.6对于空口令无法校验通过,则说明该PDF文档有用户口令,用算法3.2就不能直接计算出全局密钥。我们就需要提供一个口令供算法3.6做校验,校验通过就可以使用算法3.1计算出全局密钥从而解密文档了。

     

    既使用了用户口令又使用权限口令的PDF文档

     

    在实际中,如果一个PDF文档经算法3.6验证使用了用户口令,会弹出对话框要求用户输入口令。而在用户提供了口令后,PDF阅读器会优先判断该口令是否是权限口令,如果是,则解密文档并开放所有权限。如果不是权限口令,而是用户口令,则解密文档并按照权限设定限制用户操作。如何验证是否用户口令,并仅用用户口令计算出全局密钥前面已经讲过了,那么如何验证权限口令并计算出全局密钥呢?翻到PDF Reference 1.7的128页,算法3.7。

     

    算法3.7

     

    第一步,根据用算法3.3的第一到第四步计算出一个密钥。

     

    第二步,如果加密字典R项为2,依据第一步计算出的密钥直接对O项使用RC4算法解密。如果加密字典R项为3或更高,则要做20次以下操作:将第一步得出的密钥,每位分别与循环计数器做异或(XOR)操作,然后对O项(第一次循环时)或者上次循环得出的结果用RC4算法进行解密。其实这就是算法3.3第六、七两步的逆过程。只不过这个循环计数器不同于算法3.3中的1至19,而是19至0。一直还原到算法3.3第五步,看我们把什么还原出来了?

     

    第三步,第二步将会还原出用户口令,使用用户口令用算法3.6做校验,如果通过校验,则说明权限口令校验正确。

     

    好,既然计算出了用户口令,根据算法3.1,就可以得出全局密钥从而解密文档了。

     

    写在最后

     

    自认为PDF使用标准口令加密、解密的全过程已经讲得很清楚了,其实也没什么更多要说的了。根据本文,大家应该已经了解了使用标准口令加密的PDF文档的安全性其实也就那样。虽然使用了用户口令的PDF较难破解,但是想把PDF给人看,就必须得告诉人家用户口令。口令如何分发,这在密码学上是老问题了,随着加密PDF一起发送,显然是愚不可及的办法,同学们千万不要干这种事情,稍好点的办法是邮件传送PDF,用电话告诉别人密码。但是我预计对方显然会把PDF文档保存后再在同一个目录创建一个文本文件,名字叫“PDF密码.txt”>_<。还有一点,如果用户密码设置得较为简单,很容易被专用的软件暴力破解。好,你跟我们说又不能存放在一起,又不能设得太简单,我们按照你说的做。但万一我们把这个十分复杂的用户口令忘了,却又没记下来,怎么办?那我告诉你,神仙也很难救你了。看,这些都是标准口令加密的弊端。

     

    要使用较高安全级别的加密方法,一种是使用Acrobat的插件功能自定义加密方法,但是阅读这种PDF,需要额外安装插件。另一种是使用标准的数字证书加密的方式,它解决了密钥分发与保存的问题,以后我也许会专门写文,介绍这种加密方式。

     

    PDF文档的加解密就介绍到这里,下篇文章我们将说说PDF文档的数字签名技术。

    展开全文
  • PDF文档的加解密及数字签名技术(二)   对PDF文档加密之前的准备工作 ...那还加个啥子密嘛。两个口令分别作什么用的,请自行复习文。 让我们翻到PDF Reference 1.7的126页,从算法3.3开始。 算法3
  • 暴力破解word文档限制编辑加密保护

    万次阅读 2019-01-10 10:56:54
    为了测试效果,新建两word文档,一有保护,一没有保护 有保护文档设置为限制编辑 可以看到有保护的文档可以打开,但编辑选项均为灰色 如何取消保护(不知道密码的情况下) 打开后分别另存为html格式(注意...
  • 如何 Windows 上 使用 ONLYOFFICE 协作编辑文档

    万次阅读 多人点赞 2018-02-19 20:21:39
    1、说明——可以我qq504284沟通。 ONLYOFFICE Document Server提供文档协作的服务功能,支持Word,Excel和PowerPoint以及国产WPS的协作。但是这里告诉我们,需要进行文档管理和存储的二次开发。它api里现成的开发...
  • 写论文时,参考文献的引用是一件很麻烦的事,每杂志要求的文献格式是不一样的,包括文章中插入的方法和文章后面排列的格式和顺序等都不同。根据排列顺序,主要分为两种:一是按插入顺序排序,二是按作者的姓名排序...
  • PDF文档在线浏览防下载加密方案

    千次阅读 2010-10-25 16:37:00
    PDF文档在线浏览防下载加密方案 (在线浏览防下载,文件不落地、禁止打印、禁止另存、禁止文字复制、动态添加防截图水印) 本方案针对PDF文档在线浏览的版权保护。 其突出特点表现: 在线浏览防下载,...
  • 项目中需要实现判断文档是否发生变化,这是很多编辑软件的基本功能,变化了就加个星号*。如果整个项目从0开始自己设计就是另外一回事了,这里是基于visio二次开发,首先想到的是去看微软的官方文档,看是否有相关的...
  • VOC数据集中Main中的txt存图片名,为了还原整体名字(加个.jpg) matlab程序: fid=fopen('C:\Users\Administrator\Desktop\20191121\VOC2012/testjpg.txt','wt'); %存放测试图片的文件 fid2=fopen('C:\Users\...
  • 这里以wps的word文档加密来举例。 1.使用wps打开需要加密的文档 2.上方工具栏找到“审阅”,点击后就可以找到“限制编辑” 3.选择保护方式,填写密码(也可不填)。 ps:只读:加密后他人仍可以复制文档里的...
  • 在文档中批量添加符号

    千次阅读 2018-11-01 15:04:02
    1、execl文档中复制一列文字或数字,粘贴到文本文档中。 2、Ctrl+A 选中全部文本 3、Ctrl+Shift+L 插入文本光标指向文本最后一列 4、Ctrl+M 取消选中文本,只余光标 这时候就可以前后移,批量添加符号啦。 .....
  • 1、TXT原文件格式   2、目标格式   3、bat文件 代码解析: 源代码: @echo off cd /d d:\test md new for %%a in (*.txt) do ( echo %%a for /f "delims=" %%i in (%%a) do ( ... ...
  • 百度文库文档下载

    万次阅读 2017-08-26 17:27:42
    无意中看到的一方法,就是地址前面加上wap这三字母进入wap版的文库.便可复制了.举例子. ‍下面这是一个文档: http://wenku.baidu.com/view/b9ee0694dd88d0d233d46a00.html然后这样,wenku加上wap这三字母...
  • 产品经理必须要了解的26个文档

    千次阅读 2011-11-07 16:16:00
    产品经理必须要了解的26个文档   现在产品部只有四个人,并且也经过了一段时间的磨合,每人的性格特点大概了解得差不多了。 周扬,爱学习,思维缜密,有毅力,善于总结,没架子,爱开玩笑,和公司内每一人都...
  • C#比较两word文档的内容

    千次阅读 2012-08-26 13:41:50
     最近开发的项目中,又遇到一和word有关的问题,就是用户修改了一word文档的内容后,需要将这个文档另一事生成好的文档进行对比,看是否有修改.从而决定要不要提示用户修改另一文档..  wo
  • 接口文档

    千次阅读 2017-04-09 23:07:45
    项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这接口文档进行开发,到项目结束都要一直维护。 二、为什么要写接口文档? 1、项目开发过程...
  • layuiadmin开发文档

    万次阅读 多人点赞 2019-04-28 11:13:24
    layuiAdmin pro v1.x 【单页版】开发者文档 更新日志常见问题在线演示会员专区切换到:iframe版文档 layuiAdmin pro (单页版)是完全基于 layui 架构而成的后台管理模板系统,可以更轻松地实现前后端分离,它...
  • eclipse中加入API文档帮助

    千次阅读 2018-01-25 10:12:04
    首先,你的文档需要是HTML版的,如果没有的话,可以去下载,不想下载的话,还有别的方法,很简单。 这里你需要有chm版的API文档,...windows 下 ,方法如下: 命令行,输入hh -decompile 例如:hh -deco
  • 接口文档定义

    千次阅读 2019-03-18 21:23:36
    项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这接口文档进行开发,到项目结束都要一直维护。 二、为什么要写接口文档? 1、项目开发过程中...
  • Bootstrap Table API 中文版(完整翻译文档

    万次阅读 多人点赞 2017-09-11 20:20:27
    >Bootstrap table API 中文文档(完整翻译文档) *$('#table').bootstrapTable({}); *看网上有中文版的,但有些就是字面直接译过来了,而且有的就没有翻译,那就打算自己再翻译一遍,每一条会尽 *最大可能结合尽可能...
  • 这两天写文档的一点感受

    千次阅读 2004-06-29 23:48:00
    到公司两天了,一直都写一个文档。我平时并不怎么注意写文档,偶尔写写也只是事后总结,正儿八经的项目文档这还是破天荒头一遭。 说来挺惭愧,就这么两三页的文档,我写了两天,改了两次,这已经是第三次写,至于...
  • 今天本地整理word文档时,遇到了前面打字会把后面的文字覆盖掉的问题,查阅了一下解决方式,总结如下: 原因: 无意间按下了键盘上的【Insert】键,因此Word进入了改写模式,所以会导致写一字覆盖掉前面的字。 ...
  • 将C#文档注释生成.chm帮助文档

    千次阅读 2017-03-22 14:36:56
    由于最近需要把以前的一项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下。好了,不多废话,下面就来实现一下吧。 生成的准备 ...
  • 文档测试

    万次阅读 2009-12-05 00:07:00
    软件测试越来越受到大家关注和重视后,对软件测试的认识也由原来的功能测试、性能测试、安全测试、黑盒测试、白盒测试等大家所熟悉的概念扩展到了对文档测试、配置测试等等方面上,如大家所知,软件需求阶段所产生...
  • vim打开文档和多文档编辑

    万次阅读 2011-03-08 13:55:00
    vim ,进入vim界面之后使用命令 :e 文档名 打开文档,此方式可以编辑一个文档的同时打开另外一个文档二、多文档编辑:1. vim 文档1名 文档2名 ...2. vim ,进入vim后使用:e 文档名 打开文档3.多文档编辑的命令...
  • 需求文档

    千次阅读 多人点赞 2019-03-29 18:10:18
    2018年03月05日 22:11:21 zhangbijun1230 阅读数:40947 产品设计是一由抽象的概念到具体形象化的处理过程...
  • 解决java中html转word文档,转成功后的word文档在断网情况下无法显示图片问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 528,242
精华内容 211,296
关键字:

怎么在文档前面加个点