Pandoc
开源命令行文档转换工具,支持 Markdown、Word、LaTeX、EPUB 等几十种格式互转,适合用 Markdown 写稿后要交 Word 给编辑、转 PDF 给读者的人。
Pandoc 是一个命令行文档转换工具,解决的是「同一份内容要在不同格式之间来回倒腾」的问题。比如用 Markdown 写完稿子,要交 Word 给编辑、转 PDF 给读者、再生成 EPUB 上架,不用手动排版,一条命令就能转过去。它也能把 Word、LaTeX、HTML 这些来源统一转成 Markdown,方便归档或迁移。
主要功能
支持的格式覆盖很广:轻量标记语言有 Markdown(含 CommonMark 和 GitHub 风格)、reStructuredText、AsciiDoc、Org-mode 等;办公文档有 docx、RTF、ODT、PowerPoint;电子书有 EPUB 2/3 和 FictionBook2;学术排版有 LaTeX、DocBook、JATS;此外还有 wiki 标记、Jupyter notebook、CSV 表格等。输出 PDF 时它本身不排版,而是调用 pdflatex、xelatex、wkhtmltopdf、weasyprint 等外部工具完成。
对写作者比较实用的是引用和数学。在 Markdown 里写 [@doe99, pp. 33-35] 这样的引用标记,配合 BibTeX 或 CSL JSON 文献库,Pandoc 会按指定的 CSL 样式生成文内引用和文末参考文献,输出到任何格式都生效。LaTeX 数学公式也能直接写在 Markdown 里,转 HTML 时可选 MathJax 或 MathML 渲染,转 Word 时变成原生公式对象。
需要定制输出时,可以用模板系统改版式,用 Lua 写过滤器改内容,甚至自定义输入输出格式。它同时提供一个 Haskell 库,每个格式对应独立模块,加新格式就是加新模块。
适合谁
经常在多种文档格式之间搬运内容的人:用 Markdown 写作、需要交 Word 或 PDF 的作者,做学术排版的研究者,以及要把文档流水线自动化的开发者。习惯图形界面、只想偶尔转个文件的人,用起来会嫌它要敲命令。
费用与限制
Pandoc 是自由软件,按 GPL 发布,版权归 John MacFarlane,页面标注年份为 2006–2025。它没有网页版转换界面,得先安装到本地再用命令行调用;转 PDF 还要额外装 LaTeX 或其他排版引擎,这是新手最容易卡住的一步。