SuperAPI AI 工具集

markdown-to-pdf

办公与效率

查看项目

更新于 10-14 09:28

技能介绍

用途

markdown-to-pdf 是一个文档处理技能,用于将 Markdown 文件转换为高质量 PDF 文档,并支持代码块语法高亮和自定义 CSS。它适合需要把 Markdown 说明文档、代码文档等输出为 PDF 的场景。

主要能力

  • 语法高亮:代码块通过 highlight.js 渲染,可使用 --no-highlight 关闭。
  • 自定义 CSS:可通过 --css 指定样式文件覆盖默认样式。
  • 跨平台:可在 Windows、macOS、Linux 上运行。
  • 系统 Chrome:检测到已安装的 Chrome/Chromium 时使用系统版本。
  • Frontmatter 支持:提取 YAML frontmatter 用作标题和元数据。

安装要求

该技能需要 npm 依赖,安装方式有两种:

方式一:通过 ClaudeKit CLI 安装(推荐)

ck init # 运行 install.sh,处理所有技能

方式二:手动安装

cd .claude/skills/markdown-to-pdf npm install

依赖项为 md-to-pdf 与 gray-matter。首次运行可能下载 Chromium(约 150MB),除非检测到系统 Chrome。

此外,技能描述中提到需要 pandoc 加一个 PDF 引擎(wkhtmltopdf 或 weasyprint)可用。

使用方式

基本转换:

node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./README.md

指定输出路径:

node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --output ./output.pdf

使用自定义 CSS:

node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --css ./my-style.css

命令行选项:

  • --input 或 -i:输入 Markdown 文件路径(必填)
  • --output 或 -o:输出 PDF 文件路径,默认 {input}.pdf
  • --css 或 -c:自定义 CSS 文件路径,默认使用内置样式
  • --no-highlight:关闭语法高亮,默认 false
  • --help 或 -h:显示帮助信息

默认样式

默认 PDF 样式包括:正文使用衬线字体(Georgia),代码使用等宽字体(Consolas/Monaco),2cm 页边距,代码块背景高亮,表格边框与交替行颜色。

输出与验证

转换成功后返回 JSON,例如:

{ "success": true, "input": "/path/to/input.md", "output": "/path/to/output.pdf", "pages": 3 }

技能建议的工作流为:安装所需工具、执行转换(含语法高亮与可选 CSS)、检查 PDF 输出的格式与完整性。

适用场景

适用于需要把 Markdown 文件转换为带代码高亮和自定义样式的 PDF 文档的场景,可以脚本化或批量调用。

限制与注意事项

  • 需要 pandoc 加 PDF 引擎(wkhtmltopdf 或 weasyprint)作为前提。
  • 首次运行可能下载 Chromium(约 150MB),可通过 PUPPETEER_SKIP_DOWNLOAD=1 阻止下载。
  • 大文档可能遇到内存问题,建议拆分为多个文件。
  • 字体问题可通过 CSS @font-face 嵌入 base64 编码字体以保证渲染一致。
  • 资料中未提供具体定价、兼容 Markdown 语法范围、最大文件体积限制等信息,暂未提供。