用途:面向 PDF 全生命周期工程,涵盖提取、生成、修改、表单填写与安全加固。适用于从 PDF 提取结构化数据、由 HTML/React 生成高保真 PDF、修改已有 PDF、填写可填写或不可填写表单、以及加密文档;不适合简单文本处理、与 PDF 无关的图片操作,或更适合文字处理器的任务。
主要能力与工具选择:由 HTML 生成 PDF 用 Puppeteer 或 Playwright 的 page.pdf(),并等待 networkidle0 或 networkidle;轻量文本提取可用 unpdf(兼容边缘/无服务器);表格提取可用视觉模型配合 Zod schema,或非 AI 的 pdfplumber(Python,单元格边界精确);修改、合并、拆分用 pdf-lib 或 @pdfme/pdf-lib;填写可填写表单前先检查 AcroForm 字段,不可填写表单用 Python 注解脚本结合视觉分析与边界框;加密用 qpdf(如 qpdf --encrypt user owner 256 --),修复损坏用 qpdf input.pdf --replace-input;命令行快速提取用 poppler-utils 的 pdftotext -layout input.pdf -;海量合并用 pypdf;批处理队列用 BullMQ + unpdf;PDF/A 用 ghostscript 转换、verapdf 校验;无障碍标签 PDF 由 Puppeteer 的 tagged: true 生成;数字签名用 @signpdf/* 与 P12 证书;比较用 unpdf + diff 或 pixelmatch;安全擦除用 pymupdf (fitz) 的 apply_redactions()。
常见误区与限制:不要用 canvas 绘图命令生成 PDF,应使用 HTML/CSS 模板;Puppeteer 需完整 Node.js,边缘环境用 unpdf;复杂版面不要依赖基础文本解析器;含个人信息的 PDF 存储前应经 qpdf 做 AES-256 加密;服务端生成不要依赖 window.print();容器环境注意嵌入字体;写入已扁平化表单字段前先检查 AcroForm;加密 PDF 建议使用 @cantoo/pdf-lib 分支而非原版 pdf-lib。具体版本、许可与收费信息暂未提供。