pandoc安装
官网地址链接
如果在windows下安装,选择msi (Microsoft Installer),并根据引导完成安装工作。
安装完成后,需要打开新的terminal,并使用pandoc --version
查看是否安装成功。
markdown转word
笔者在国内多家公司的工作经历中发现,企业内部的文档管理普遍采用 Word 和 PDF 格式。Word 作为一种支持富文本编辑的工具,其可视性较好,便于直接编辑和格式调整;PDF 则具有良好的跨平台一致性,适合用于正式文件的分发和归档。
在日常工作中,笔者更倾向于使用 Markdown 格式进行个人笔记记录。这主要是因为笔记内容以文本为主,很少涉及图像插入。尽管Markdown 本身具备良好的图片支持功能,但纯文本记录已能满足多数需求。
为与公司的文档管理体系保持兼容,笔者计划借助 Pandoc 工具,将 Markdown 格式的笔记转换为符合公司规范的 Word 文档。目前正致力于定制一个专用的转换模板,以实现高效、统一的格式转换。
实现思路如下:
-
使用pandoc命令打印自带的word模板
pandoc -o template.docx --print-default-data-file reference.docx
-
修改template.docx模板
-
此后markdown转换docx时使用template.docx
pandoc -o name_format_docx.docx .\name_format_markdown.md --reference-doc=template.docx
常用字体说明
- 宋体:是中文中最常见、最通用的字体之一,打印效果清晰明了,阅读性好,适合长篇文档,显得庄重正式。许多公司规定技术文件全文使用宋体。
- 微软雅黑:是为屏幕显示优化的字体,在电子设备上显示效果极佳,现代感较强。是电子技术文档或需要投影阅读时的好选择。
- 黑体:结构清晰,笔画粗壮,非常显眼,适合用于标题,能增强视觉效果。
- 英文搭配:Times New Roman是经典衬线字体,传统严肃,适合正式场合;Calibri是Office默认无衬线字体,现代感强,阅读舒适;Arial是无衬线字体,可读性强,应用广泛
pandoc的命令
以下是 Pandoc 最常用的核心命令参数分类详解,适用于日常文档转换场景(特别是 Markdown 转 Word/PDF/HTML):
一、基础转换参数
参数 | 说明 | 示例 |
---|---|---|
-f FORMAT |
指定输入格式(如 markdown , html , docx ) |
-f markdown |
-t FORMAT |
指定输出格式(如 docx , pdf , html ) |
-t docx |
-o FILE |
输出文件名(必须放在最后) | -o report.docx |
INPUT_FILE |
输入文件路径(支持多个文件合并) | chapter1.md chapter2.md |
二、样式与模板控制
参数 | 说明 | 示例 |
---|---|---|
--reference-doc=FILE.docx |
指定 Word 模板(DOCX 格式专用) | --reference-doc=template.docx |
--template=FILE |
指定模板(LaTeX/HTML 等格式使用) | --template=custom.latex |
--css=FILE.css |
指定 CSS 文件(HTML/EPUB 输出) | --css=styles.css |
--highlight-style=STYLE |
代码块高亮主题(如 pygments , monochrome ) |
--highlight-style=tango |
三、内容增强参数
参数 | 说明 | 示例 |
---|---|---|
--toc |
生成目录(Table of Contents) | --toc |
--toc-depth=NUMBER |
目录层级深度(默认 3) | --toc-depth=2 |
--number-sections |
自动编号章节标题(PDF/LaTeX 常用) | --number-sections |
--top-level-division=TYPE |
指定顶级标题类型(chapter , part , section ) |
--top-level-division=chapter |
四、元数据控制
参数 | 说明 | 示例 |
---|---|---|
--metadata KEY:VALUE |
设置元数据(覆盖文件内 YAML 块) | --metadata title="报告" |
-M KEY:VALUE |
同上(简写形式) | -M author="张三" |
--variable KEY:VALUE |
传递变量到模板(LaTeX 专用) | --variable classoption=twocolumn |
五、PDF 生成专用参数
参数 | 说明 | 示例 |
---|---|---|
--pdf-engine=ENGINE |
指定 PDF 引擎(pdflatex , xelatex , wkhtmltopdf ) |
--pdf-engine=xelatex |
-V geometry:margin=1in |
调整页面边距(LaTeX 的 geometry 包) |
-V geometry:top=2cm |
--include-in-header=FILE |
插入 LaTeX 头内容(如宏包) | --include-in-header=header.tex |
六、高级处理工具
参数 | 说明 | 示例 |
---|---|---|
--filter=SCRIPT |
使用过滤器(Python/Lua 脚本处理 AST) | --filter=pandoc-citeproc |
--lua-filter=SCRIPT.lua |
使用 Lua 过滤器(更高效) | --lua-filter=page-break.lua |
--standalone |
生成完整文档(包含头部/模板) | --standalone |
七、调试与信息查询
参数 | 说明 | 示例 |
---|---|---|
--verbose |
显示详细日志(调试用) | --verbose |
--list-input-formats |
查看支持的输入格式 | |
--list-output-formats |
查看支持的输出格式 | |
--list-extensions |
查看 Markdown 扩展支持 | |
--version |
显示 Pandoc 版本 |