核心用法
PDF Generator 是一个参考型技能,专注于为开发者提供 PDF 文档生成的完整代码模式与实施指南。该 skill 不直接执行代码或生成文件,而是通过系统化的文档结构,帮助用户根据不同数据源选择最优工具链:
- Markdown → PDF:推荐使用 Pandoc,原生支持目录生成与模板系统
- HTML/CSS → PDF:WeasyPrint 为首选,提供最佳的 CSS 打印媒体支持,无需 LaTeX 依赖
- 数据/JSON → PDF:ReportLab 适合程序化生成,提供像素级精确控制
- 简单文本:fpdf2 轻量快速
关键实施原则
1. 结构优先于样式:使用语义化 HTML(<article>, <header>, <section>)而非内联样式
2. 显式控制分页:通过 CSS page-break-before, page-break-inside: avoid 等属性防止内容断裂
3. 强制设置元数据:文档标题、作者信息必须在 <head> 中声明
4. 打印优化 CSS:利用 @media print 和 @page 规则控制页面尺寸(A4)、边距(2cm)及字体选择
5. 输出验证三步骤:检查文件大小(0 字节 = 失败)、页数、字体渲染
显著优点
- 工具选型矩阵清晰:根据输入类型直接映射到最佳工具,降低决策成本
- 防踩坑指南完备:针对缺失字体、绝对路径图片、未设置页面尺寸等常见问题提供明确解决方案
- 零外部依赖:纯本地代码模式,不发送数据至外部服务
- 多平台支持:覆盖 Linux、macOS、Windows
潜在局限
- 非执行型 skill:仅提供参考代码,用户需自行集成到项目
- 无模板库:
templates.md等文件仅为引用说明,未提供现成模板 - 高级功能受限:水印、数字签名、PDF/A 合规等进阶需求需用户自行探索
适合人群
后端开发者、数据工程师、需要程序化生成报告/发票/合同的技术团队,以及希望将文档工作流自动化的 DevOps 人员。
常规风险
- 字体版权问题:商业字体嵌入需确认授权
- 图片路径陷阱:绝对路径在跨环境部署时失效
- 大文件生成:未压缩图片导致 PDF 体积异常