8.5. 使用Pandoc进行文档转换#
使用pandoc可以方便地对文档的格式进行相互转换。
8.5.1. 安装Pandoc#
pandoc安装说明:jgm/pandoc
pandoc用户手册:https://pandoc.org/MANUAL.html
根据系统按它的说明下载对应的安装包即可,ubuntu下不要直接用apt安装,apt安装的版本太旧。
在ubuntu下可以使用如下命令查看pandoc的说明:
man pandoc
8.5.2. docx转rst#
使用python安装rstdoc扩展包,方便转换:https://pypi.org/project/rstdoc/
docx转rst操作步骤:
先把docx文档按章节分开,一个章节一个docx文档,不然整个文档转换可能太大, 导致错误,而且整个文档转换图片或内容不方便处理。
使用rstfromdocx命令一个个文档转换成rst
使用如下指令转换
#doc1为要转换的文档
rstfromdocx -lurg doc1.docx
命令执行后会生成与文档名相同的目录,目录下是sphinx形式的rest文档, 把rest文档复制至新的书籍目录并把后缀改为rst,media下的图片也放到目标书籍的同级目录即可。
小技巧
在Windows转换后,生成的文件目录引用使用的路径是“”,而sphinx路径只支持“/”, 所以图片之类的引用路径要注意修改。
8.5.3. pandoc rst转docx#
rstdocx插件据说可以更完美地把rst转成docx,但还不清楚rstdocx插件如何把rst转成docx,但用pandoc可满足基本要求。
pandoc rstfile.rst -f rst -t docx -o targetdocfile.docx --data-dir=sourcedir --reference-doc=module.docx
其中rstfile.rst是源文件,-f 指源格式,-f 指目标格式
-o指定的是输出文件
--data-dir=指定的是依赖目录
--reference-doc=是docx模版文件,使用模版文件转换可以把标题之类的格式搞得更规范
reference-doc模版及说明:https://pandoc.org/MANUAL.html#option--reference-doc
8.5.4. pandoc docx转rst#
与rst转docx类似,输出的图片目录可以使用这个参数设置:
--extract-media=DIR