前言¶
写方案、纪要或归档材料时,Markdown 便于版本管理,但对外交付往往还要 PDF。手工复制到 Word 再导出,或临时拼一条 Pandoc/LaTeX 流水线,都容易在样式和中文路径上踩坑。下面介绍 SkillHub 上的社区 Skill「Markdown转换PDF」(坐标 @user_09b3713d/md2pdf):装到 Agent 的 skills 目录后,可按固定流程把 .md 转成带版式的本地 PDF。
这是什么¶
「Markdown转换PDF」是 SkillHub community 源、分类 office-efficiency 的技能,发布者为 user_09b3713d。平台简介只有一句:将 Markdown 格式转换为 PDF 格式。实际安装包内的 SKILL.md 将其定位为 MD2PDF——通用文档转换:任意 Markdown → A4 打印就绪 PDF,经 python-markdown 排版 HTML,再用 Chrome/Edge/Chromium 无头打印,并用 pypdf 做页数校验。标签标明 requires_api_key=false,调用不依赖额外 API Key。
平台页面(截至抓取)显示版本 v1.0.0,评分 100000,下载 2739,安装 31。
核心功能¶
以下能力来自已安装包内的 SKILL.md 与 scripts/md2pdf.py,可与本地文件核对:
- 三种风格模板:
formal(正式黑白)、business(商务蓝)、academic(学术衬线),对应styles/formal.css、styles/business.css、styles/academic.css。 - Markdown 结构:支持表格、围栏代码块、引用块(
markdown扩展tables、fenced_code)。 - 转换链路:md → 排版 HTML → 浏览器无头
--print-to-pdf→ PDF;默认去掉 PDF 页眉页脚;异常时脚本对旧版 Chrome 有重试逻辑。 - 环境自愈:Python 3.8+;缺
markdown、pypdf时脚本尝试自动pip install(首次需联网);浏览器自动探测,也可用--browser指定路径。 - Agent 侧约定:调用技能时先让用户选风格模板(用户已明确指定时可跳过);生成后把 PDF 呈现给用户。
安装与启用¶
先做环境检查,再把技能装进当前 Agent 识别的 skills 目录(SkillHub 文档强调必须用 --dir,否则默认 ./skills/ 可能不被加载)。
1、检查 SkillHub CLI
command -v skillhub && skillhub --version
未安装时可按官方安装说明执行完整安装(示例为推荐方式):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
2、安装本 Skill
搜索可见坐标与安装方式;安装命令为:
skillhub install md2pdf --namespace user_09b3713d --dir <你的 Agent skills 目录>
常用目录(来自 SkillHub 安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
安装成功后,包会落在类似 @user_09b3713d/md2pdf/ 的子目录中,内含 SKILL.md 与 scripts/md2pdf.py。修改 skills 后按你所用客户端的要求重启或刷新 Agent,使技能生效。
典型用法¶
在对话里:用户提出「把这份 md 导出 PDF」时,Agent 按 SKILL.md 先用问答让用户选 formal / business / academic,再执行脚本。
命令行一键转换(路径替换为本机安装目录):
python <skill目录>/scripts/md2pdf.py "<输入.md>" "<输出.pdf>" --style <formal|business|academic>
说明:
- 省略
--style时默认为formal。 - 省略输出 PDF 路径时,PDF 写在源
.md同目录,文件名为原名_风格.pdf。 - 脚本会打印中间
.print.html路径,便于预览或排障。
排障或只要 HTML 时,可按 SKILL.md 分步:先 md→HTML(拼接模板必须用 __BODY__/__CSS__ 占位符 replace,不要用 % 格式化或 f-string,避免 CSS 中的 %、{} 冲突),再手动调用浏览器无头打印。
适用场景与注意¶
适合:需要把报告、纪要、方案、论文类 Markdown 保存为本地 PDF、且希望有固定 A4 版式与三种预设风格的场景;本机可安装 Chrome/Edge/Chromium 或愿意用 --browser 指定。
注意:
- 依赖无头浏览器;探测不到浏览器时会报错,需本机安装或显式指定。
- 首次运行可能触发
pip装依赖,需网络与可写的 Python 环境。 SKILL.md提到 WorkBuddy、PowerShell 输出等特殊环境时的处理方式;其他 Agent 若 stdout 不回传,可把输出重定向到文件再读取。- SkillHub 上另有同名或相近的
md2pdf技能(不同namespace),安装时务必使用@user_09b3713d/md2pdf对应的install md2pdf --namespace user_09b3713d。
结尾¶
「Markdown转换PDF」把「选模板 → md 转 HTML → 无头打印 PDF → 校验」收成一条可复现链路,适合在 Agent 里处理日常的 Markdown 交付。安装与优先源说明见 SkillHub 安装文档;技能页见 SkillHub - Markdown转换PDF,线索地址 https://api.skillhub.cn/user_09b3713d/md2pdf。