名称: local-pandoc
描述: 使用 pandoc 命令行工具将 Markdown 文件转换为 PDF 文件。当用户要求将 .md 或 markdown 文件转换为 .pdf 文件时使用。
此技能使用 pandoc 命令行工具在多种标记格式之间转换文档。
pandoc 命令的基本结构如下:
pandoc [选项] [输入文件]…
将 Markdown 文件转换为 HTML:
pandoc -o output.html input.md
虽然 pandoc 可以根据文件扩展名推断格式,但也可以使用 -f(源格式)和 -t(目标格式)标志明确指定。
# 将 HTML 转换为 Markdown
pandoc -f html -t markdown input.html
要创建包含完整页眉和页脚的文档(例如完整的 HTML 文件),请使用 -s 或 --standalone 标志。
pandoc -s -o output.html input.md
以下示例摘自官方 Pandoc 用户指南。
要创建 PDF,pandoc 通常使用 LaTeX 引擎。请确保已安装相关引擎。
# 基本 PDF 创建
pandoc input.md -o output.pdf
# 通过变量控制 PDF 引擎和样式
pandoc input.md -o output.pdf --pdf-engine=xelatex -V geometry:margin=1in -V fontsize=12pt
Pandoc 可以自动生成目录并使用文档元数据。
# 创建包含目录的文档(支持至三级标题)
pandoc --toc --toc-depth=3 -o output.docx input.md
# 从命令行设置元数据字段
pandoc -M title:"我的报告" -M author:"Galactus" -o output.pdf input.md
您可以使用模板和其他选项控制最终输出的结构和样式。
# 为 HTML 输出使用自定义模板
pandoc -s --template=my-template.html -o output.html input.md
# 对于 HTML 输出,链接到自定义 CSS 文件
pandoc -s --css=styles.css -o output.html input.md
# 对于 DOCX 输出,使用参考文档定义样式
pandoc --reference-doc=reference.docx -o output.docx input.md
Pandoc 可以直接从 URL 获取并转换内容。
pandoc -f html -t markdown https://www.fsf.org
# 保留制表符而不转换为空格
pandoc --preserve-tabs ...
# 控制输出源代码中的换行
pandoc --wrap=none ...
# 调整标题级别(例如将所有 H1 转为 H2,H2 转为 H3)
pandoc --shift-heading-level-by=1 ...
这份增强的文档为使用 pandoc 提供了更坚实的基础。