markdown + pandoc 生成 docx / pdf

Why

经常写文档, 但是又想要一种简单的方法, 我选择了markdown.
但是有时候写的文档要发布, 里面有一些图片, 直接生成pdf效果并不好, 特别是分页不好弄
分页和图片的排版还是在docx里面弄方便~~

Environment

windows + Typora + pandoc

Tools

  • Typora
    我用过的最好用的markdown编辑器,支持windows, mac, Typora 本身支持转换pdf..
  • pandoc
    实用全能的文档转换工具, markdown转换docx的工具

为了使用方便, pandoc安装好之后把他的安装路径添加到环境变量里面, 添加好之后用下面的方法测试

xsu@xsu MINGW64 /e/net/www/pic
$ pandoc -v
pandoc.exe 1.17.0.2

Step

pandoc的功能很多, 我只取我所常用的

markdown转换为docx

最简单例子

pandoc -s m.md -o m.docx

但是打开生成的docx一看, 我去, 丑到爆

看官别慌请接着看

使用reference文件

reference文件可以docx, 也可以是css,具体请细看Pandoc User’s Guide

docx

下载我提供的reference-docx文件

reference.docx 链接:http://pan.baidu.com/s/1jHHuIJ8 密码:2a4i
放到你要转换的md文件的同一级目录

pandoc -s m.md -o m.docx -c reference.docx

或者

pandoc -s m.md -S --reference-docx reference.docx -o m.docx

当然你也可以把reference.docx放到data-dir, 就可以省略-c reference.docx

mkdir %userprofile%/AppData/Roaming/pandoc
move reference.docx %userprofile%/AppData/Roaming/pandoc/reference.docx
pandoc -s m.md -o m.docx

其效果如下

如果不满意可自行修改样式

css

pandoc -s m.md -o m.docx -c github.css

github.css我就不提供文件, 请在Typora的安装目录下的resources\app\style\themes 查找或者自己搜索

常见问题

pandoc.exe: user error (word/numbering.xml missing in reference docx)

解决思路: 找到把丢失的numbering放到word目录下

解决办法: 打开github.com/jgm/pandoc/tree/master/data/docx/word

把里面numbering.xml下载下来, 把我们的自己的reference.docx改名为reference.zip,用压缩软件的打开, 放到word/目录下, 再 把reference.zip改为reference.docx

参考: