pdfme:开源 PDF 生成库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/pdfme-typescript-pdf-generation-library。
技能介绍
生成 PDF 为什么麻烦
在业务系统里,PDF 输出往往很别扭。报表、发票、证书这类文档格式固定,但数据千变万化:用代码手写排版逻辑既难维护,改一个边距就要动一遍代码;让设计师用专业排版软件出图,又和代码里的动态数据接不上。结果要么是模板散落各处,要么是每次改格式都得开发重新改一遍。pdfme 要解决的问题很明确:把「文档长什么样」从代码里抽出来,变成一份谁都看得懂的 JSON 模板。
它是怎么工作的
pdfme 的核心思路是模板驱动:你不用写一堆坐标和画布操作代码,而是用内置的所见即所得(WYSIWYG)设计器把模板画出来。关键能力包括:
- WYSIWYG 模板设计器:在浏览器里可视化排版,所见即所得,不需要了解排版引擎的 API
- 模板即 JSON:模板就是一份
JSON数据,结构直白,方便版本管理、评审和复用 - PDF 预览:内置 PDF viewer,可以即时查看生成效果
- CLI 工具:提供校验(validation)与生成命令,浏览器端和 Node.js 环境都能跑
- 示例资产:通过
pdfme examples --withInputs可导出官方示例,当成一个可编辑、可重新生成的任务来改
整体流程大致是:在设计器里画模板 → 模板存成 JSON → 运行时注入数据 → 生成 PDF。
适用边界
上游文档明确提到,它面向的是「用模板生成 PDF」这类场景,不需要复杂操作。也就是说,它适合格式固定、数据变化的结构化文档。如果你的需求是任意像素级操控 PDF、动态增删页面结构,那它未必合适,更适合交给专门的 PDF 处理库。另外,模板的表达能力和设计器、JSON 结构直接相关,复杂版式仍需要在真实模板里验证效果。
使用场景
- 后端要交付固定版式的发票、报告或证书,并把用户数据填进同一份模板输出 PDF。
- 前端想在浏览器里直接预览 PDF 生成结果,快速确认模板布局是否符合预期。
- 团队用设计器调整模板后导出 JSON,再把同一份模板交给 Node.js 做批量生成。
- 开发者需要用 CLI 校验模板结构,并在本地或 CI 流程中重新生成样例 PDF 验证输出。
适合人员
- 负责生成发票、报告或证书 PDF 的 Web 后端工程师,需要模板化替换固定版式。
- 搭建文档生成流程的全栈开发者,希望浏览器和 Node.js 共用同一套模板与 CLI。
- 维护 PDF 模板的产品或研发成员,需要用设计器和 JSON 模板降低改动成本。
- 需要批量校验并重新生成 PDF 的工程团队,依赖 CLI 验证模板并验证输出结果。