Repolode
jgm

jgm/pandoc

通用标记格式转换工具,可在 Markdown、HTML、LaTeX、DOCX 等数十种文档格式之间互相转换。

可替代:Microsoft Word

Star
46,661
Fork
6,529
未关闭 Issue
1,048
最近提交
16小时前

这是什么?

Pandoc 是一个用 Haskell 编写的文档格式转换库和命令行工具,可在不同标记格式之间互相转换。它支持读取 Markdown 各种变体、HTML、LaTeX、DocBook、Word docx、EPUB、电子表格等多种输入,并可输出为 HTML、PDF、PowerPoint、EPUB、typst 等格式。

它采用读取器与写入器分离的设计:读取器先把输入解析为统一的中间语法树,写入器再将其渲染为目标格式。因此新增格式只需实现对应的读取器或写入器,用户还可以用 Lua 过滤器等方式修改中间树。PDF 输出则通过 LaTeX、Groff ms 或 HTML 生成。

从 Pandoc 自身的 Markdown 转换到其他格式被设计为尽量无损,但从表达能力更强的格式转换时可能丢失部分细节,例如复杂表格或页边距等排版信息。

核心功能

  • 01支持数十种输入和输出格式,包括 Markdown、HTML、LaTeX 和 DOCX。
  • 02可借助 LaTeX、Groff ms 或 HTML 引擎生成 PDF。
  • 03支持 BibTeX、CSL JSON 等参考文献格式。
  • 04可通过 Lua 过滤器以及自定义读取器或写入器进行扩展。
  • 05同时提供 Haskell 库和命令行工具。

适用场景

  • 将 Markdown 笔记或书稿转换为 Word、EPUB 或 PDF。
  • 使用 reveal.js 或 Beamer 从 Markdown 生成幻灯片。
  • 把文档从 reStructuredText、DocBook 等格式迁移到其他标记系统。
  • 在 CI 流水线中由同一份源文件生成多种格式的文档。

快速上手

  1. 1

    按照 INSTALL.md 中的安装指南安装 pandoc

  2. 2

    阅读用户手册,了解如何转换文档

使用前须知

  • 采用 GPL-2.0 许可证,这是一种 copyleft 许可证,会影响衍生代码的分发方式。
  • 从表达能力强于 pandoc Markdown 的格式转换时,常会丢失部分信息。

标签

常见问题

pandoc 是什么?
通用标记格式转换工具,可在 Markdown、HTML、LaTeX、DOCX 等数十种文档格式之间互相转换。 Pandoc 是一个用 Haskell 编写的文档格式转换库和命令行工具,可在不同标记格式之间互相转换。它支持读取 Markdown 各种变体、HTML、LaTeX、DocBook、Word docx、EPUB、电子表格等多种输入,并可输出为 HTML、PDF、PowerPoint、EPUB、typst 等格式。
pandoc 可以免费使用吗?用的什么许可证?
pandoc 以 GPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
pandoc 还在维护吗?
活跃维护中。pandoc 最近一次提交是在 2026年10月20日。
pandoc 适合用来做什么?
将 Markdown 笔记或书稿转换为 Word、EPUB 或 PDF。 使用 reveal.js 或 Beamer 从 Markdown 生成幻灯片。 把文档从 reStructuredText、DocBook 等格式迁移到其他标记系统。 在 CI 流水线中由同一份源文件生成多种格式的文档。
pandoc 怎么安装和运行?
按照 INSTALL.md 中的安装指南安装 pandoc 阅读用户手册,了解如何转换文档
在哪里获取 pandoc?
源代码和安装说明在 GitHub 上:https://github.com/jgm/pandoc

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目