返回顶部
p

pandocPandoc转换器

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
631
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

pandoc

技能名称: pandoc
详细描述:

Pandoc 文档转换器

在 pandoc 支持的任何格式之间转换文档,并可完全控制样式、模板、目录、元数据和 PDF 引擎选择。

快速开始

对于大多数转换,请使用 scripts/convert.sh 辅助脚本:

bash
bash /scripts/convert.sh <输入文件> <输出文件> [选项...]

该脚本会根据文件扩展名自动检测格式,并应用合理的默认设置(独立输出、合适的 PDF 引擎、基于 LaTeX 的 PDF 引擎的默认 LaTeX 边距)。它还会检查 pandoc、输入文件、输出目录以及任何请求的 PDF 引擎是否可用。任何额外的参数都会直接传递给 pandoc。

转换原理

Pandoc 将源格式读取为内部 AST,然后以目标格式输出。这意味着你可以从几乎任何支持的输入格式转换到任何支持的输出格式。关键决策点包括:

  1. 1. 输入格式 — 通常根据文件扩展名自动检测
  2. 输出格式 — 根据输出文件扩展名自动检测
  3. PDF 引擎 — 对于 PDF 输出,可在 xelatex(最佳 Unicode/字体支持)、lualatex(强大的 Unicode/字体支持)、tectonic(自包含的 TeX)、pdflatex(最快,适合以 ASCII 为主的文档)或 HTML/CSS 引擎(如 weasyprint、wkhtmltopdf 或 prince)之间选择
  4. 样式 — 基于 HTML 的输出使用 CSS,PDF 使用 LaTeX 模板,DOCX/ODT 使用参考文档

常见转换模式

HTML → PDF

bash pandoc input.html -o output.pdf --pdf-engine=weasyprint -s

如果 HTML 使用了外部 CSS,请包含它:
bash
pandoc input.html -o output.pdf --pdf-engine=weasyprint -s --css=style.css

Markdown → PDF

bash pandoc input.md -o output.pdf --pdf-engine=xelatex -s --toc --toc-depth=3

Markdown → DOCX

bash pandoc input.md -o output.docx -s

要使用参考(模板)文档进行样式设置:
bash
pandoc input.md -o output.docx --reference-doc=template.docx

Markdown → HTML

bash pandoc input.md -o output.html -s --css=style.css --toc

DOCX → Markdown

bash pandoc input.docx -o output.md --extract-media=./media

Markdown → EPUB

bash pandoc input.md -o output.epub -s --toc --epub-cover-image=cover.jpg

LaTeX → PDF

bash pandoc input.tex -o output.pdf --pdf-engine=xelatex

CSV → HTML 表格

bash pandoc input.csv -o output.html -s

样式与外观

基于 HTML 的输出的 CSS

创建或使用 CSS 文件,并通过 --css=path/to/style.css 传递。对于通过 weasyprint、wkhtmltopdf 或 prince 生成的 PDF 输出,CSS 会直接被应用。对于通过 LaTeX 引擎生成的 PDF,CSS 通常会被忽略——请改用 LaTeX 变量或模板。

在 assets/default.css 中提供了一个合理的默认样式表。当用户希望获得干净、可读的输出而不指定自己的样式时,可以使用它:
bash
pandoc input.md -o output.html -s --css=/assets/default.css

用于 PDF 样式的 LaTeX 变量

无需完整模板即可控制边距、字体和纸张大小: bash pandoc input.md -o output.pdf --pdf-engine=xelatex \ -V geometry:margin=1in \ -V fontsize=12pt \ -V mainfont=DejaVu Serif \ -V documentclass=article

DOCX/ODT 的参考文档

要匹配企业风格,请提供参考文档: bash pandoc input.md -o output.docx --reference-doc=brand-template.docx

高级功能

目录

添加 --toc 和可选的 --toc-depth=N(默认为 3): bash pandoc input.md -o output.pdf --pdf-engine=xelatex -s --toc --toc-depth=2

元数据

通过源文件中的 YAML 前言或通过 -M 设置标题、作者和日期: bash pandoc input.md -o output.pdf --pdf-engine=xelatex -s \ -M title=我的报告 -M author=张三 -M date=2026-03-15

过滤器和 Lua 过滤器

Pandoc 支持转换 AST 的过滤器。Lua 过滤器是自包含的: bash pandoc input.md -o output.pdf --lua-filter=my-filter.lua

多个输入文件

Pandoc 会连接多个输入: bash pandoc chapter1.md chapter2.md chapter3.md -o book.pdf --pdf-engine=xelatex -s --toc

从 DOCX/EPUB 中提取媒体文件

bash pandoc input.docx -o output.md --extract-media=./media

故障排除

问题可能原因解决方法
PDF 缺少字符字体不支持该字形使用 --pdf-engine=xelatex 并加上 -V mainfont=DejaVu Serif
PDF 转换失败
未安装兼容的 PDF 引擎 | 检查 which xelatex lualatex tectonic pdflatex weasyprint wkhtmltopdf prince 并安装一个符合输出需求的引擎 | | DOCX 没有样式 | 没有参考文档 | 创建一个带样式的 DOCX 模板并传递 --reference-doc | | HTML 图片缺失 | 相对路径损坏 | 使用 --self-contained 将图片嵌入为 base64 | | CSS 对 PDF 无效 | 选择了 LaTeX PDF 引擎 | 使用 --pdf-engine=weasyprint、--pdf-engine=wkhtmltopdf 或 --pdf-engine=prince | | 目录为空 | 源文件中没有标题 | 确保源文件使用了 # 标题(Markdown)或

(HTML) |

格式参考

有关支持的输入和输出格式的完整列表,请参阅 references/formats.md。

选择正确的方法

当用户要求转换文档时,请考虑:

  1. 1. 源格式是什么? 检查文件扩展名或询问。如果不明确(例如,实际上是 Markdown 的 .txt 文件),请明确指定 -f markdown。
  2. 目标格式是什么? 将用户的意图映射到文件扩展名。
  3. 需要样式吗? 如果用户希望文档“看起来漂亮”或“专业”,请添加 CSS(用于 HTML)、LaTeX 变量(用于 PDF)或参考文档(用于 DOCX)。
  4. 需要结构吗? 目录、编号章节、元数据——当文档较长或正式时添加这些。
  5. 有图片或媒体文件吗? 对于 HTML 使用 --self-contained,当从 DOCX/EPUB 转换为文本格式时使用 --extract-media。

始终以辅助脚本 scripts/convert.sh 为起点——它会自动处理最常见的陷阱,选择一个合理的 PDF 引擎,并在 PDF 转换失败时打印恢复提示。根据具体用例需要添加额外的 pandoc 标志。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 pandoc-1776068643 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 pandoc-1776068643 技能

通过命令行安装

skillhub install pandoc-1776068643

下载

⬇ 下载 pandoc v1.0.2(免费)

文件大小: 9.57 KB | 发布时间: 2026-4-15 13:49

v1.0.2 最新 2026-4-15 13:49
- Updates the helper script section to check for input file, output directory, and available PDF engines.
- Troubleshooting guide now covers more PDF engines and includes troubleshooting for CSS not applying to PDF.
- Improved documentation for PDF engine selection and how the helper script handles defaults and errors.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部