有时候需要编写技术文档,需要在word中插入代码,但直接复制的代码,显示效果可读性非常差,能不能把word上显示的代码弄得给IDE显示的效果一样呢?
答案是可以的。
关键的就是两步:
设置word显示行号
从IDE中复制带格式的代码内容
Word文档下载地址:
http://download.csdn.net/detail/zeaning/9361527
1. 从新Word文档中使用模版插入代码样式
1.1. 模版内容
从以下的换行符开始复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html>
最小化内容模版:
代码来源xxx/xxx.html:
1.2. 使用方法
1) 复制以上模版内容到新的word文档中,这样可以得到区域行号,并且使其嵌入到文本中,不额外分页; 注:复制内容包括有行号的前一个换行符
2) Word文档首次复制模版内容时,模版内容下面的文档内容会被分页,设置后续内容为连续页面方法为:
a) 选中下一页的首个换行符
b) 菜单-页面布局-页面设置-行号下拉菜单-行编号选项,修改“节的起始位置”为接续本页;设置一次即可;
3) 得到模版格式后,从Pycharm直接复制内容,或者Notepad++中点击菜单插件-NppExport-Copy RTF或CopyHTML到粘贴板,然后粘贴到模版内容中。
这样可以得到良好样式的包含行号并高亮显示的代码内容,并且是可编辑的字符内容。
2. 从新Word或文档模版中,创建代码样式
2.1. 使用方法
1) 复制带格式内容:从Pycharm直接复制内容,或者Notepad++中点击菜单插件-NppExport-Copy RTF或Copy HTML到粘贴板,然后粘贴到Word文档中;
2) 给内容增加行号:选中复制过来的代码内容,菜单-页面布局-页面设置-行号下拉菜单-行编号选项,设置以下内容:
a) 修改“节的起始位置”为接续本页;
b) “应用于”修改为“所选文字”;
c) 进入行号,勾选“添加行号”,修改编号为:每节重新编号;
设置内容为连续本页:
设置行号后,文档内容会被分页,设置后续内容为连续页面方法为:选中下一页的首个换行符,菜单-页面布局-页面设置-行号下拉菜单-行编号选项,修改“节的起始位置”为接续本页;
3) 以上设置,设置一次即可,后续同文档内复用,可以在同文档内复制样式模版后再把代码样式粘贴过来;主要复制的时候要连同前后各一个换行符。
3. 原理解析
3.1. Word复制带格式文本原理解析
Word可以接收RTF格式或者HTML格式的带格式文本的内容复制,在粘贴时可以保留文本格式,如果不需要,可以在粘贴后弹出的粘贴选项选择“匹配目标格式”;
由此可见,如果需要保留代码样式的高亮格式到Word,就需要复制成为RTF格式或者HTML格式的文本,4.0版的Pycharm直接复制的文本就是RTF格式的;Notepad++也支持复制RTF或HTML格式到粘贴板,可以借助有此功能的编辑器复制内容到Word以保留代码样式。
3.2. Word设置代码添加行号原理解析
Word的页面设置可以给页面内容增加行号,直接设置是整个页面都含有行号;
而只对代码部分增加行号,需要在“行编号选项”的“应用于”选择“所选文字”;
上设置会导致带行号内容后面的文档内容分页显示,需要设置后续内容为“接续本页”,消除分页显示。
效果如下: