文档PDF处理技能 document-pdf

文档PDF处理技能是一个综合性工具集,用于处理PDF文件,包括创建、提取、操作和分析PDF文档。它支持多种编程语言和库,如Python的ReportLab和pdfplumber,以及Node.js的pdfkit,适用于自动化生成报告、发票,提取数据,合并和拆分文档等场景。关键词:PDF处理,文档自动化,数据提取,Python,Node.js,创建PDF,合并PDF,OCR,表格提取,PDF表单,HTML转PDF。

文档处理 0 次安装 0 次浏览 更新于 3/7/2026

名称: 文档-pdf 描述: 从PDF提取文本/表格,创建格式化PDF,合并/拆分/旋转,处理表单和元数据。支持pdf-lib/pdfkit (Node.js) 和 pypdf/pdfplumber/ReportLab (Python)。

文档PDF技能 — 快速参考

此技能支持PDF的创建、提取、操作和分析。Claude应在用户需要生成发票、报告、从PDF提取数据、合并文档或处理PDF表单时应用这些模式。

现代最佳实践(2026年1月):

  • PDF是发布产物,而非可编辑的真实源。
  • 验证导出保真度(字体、图像、链接)和在需要时的可访问性。
  • 可访问性:如果合规重要,优先采用标记/结构化PDF工作流(通常与PDF/UA对齐)并使用工具验证。
  • 欧盟分发:EAA(2025年6月)通常暗示对面向客户的PDF有EN 301 549期望。
  • 将PDF视为敏感文件:清除元数据,确保真实编辑,并控制分发。

核心决策规则(2026)

  • 首先决定:原生数字PDF(可选文本)与扫描PDF(图像)。扫描PDF通常需要OCR;参见references/pdf-extraction-patterns.md
  • 如果用户需要可访问性/合规性,优先从支持结构的源格式(DOCX/HTML + 适当导出)生成,而不是“后修复”未标记的PDF。
  • 对于确定性操作(合并/拆分/旋转/清除),优先使用scripts/助手而不是重新实现临时方案。
  • 绝不要将黑色矩形或覆盖视为编辑;使用真实编辑并通过复制/粘贴 + 搜索验证。

快速参考

任务 工具/库 语言 使用时机
创建PDF pdfkit Node.js 报告、发票、证书
创建PDF ReportLab Python 复杂布局、表格
创建PDF FPDF2 Python 支持Unicode的简单PDF
创建PDF Borb Python 交互元素、纯Python
编辑PDF pdf-lib Node.js 修改现有PDF、添加页面
提取文本 pdfplumber Python 无需OCR的文本提取
OCR扫描PDF PyMuPDF + Tesseract Python 扫描PDF(无可选文本)
提取表格 Camelot Python 带边框表格(Lattice模式)
提取表格 Camelot/Tabula Python 无边框表格(Stream模式)
解析/合并/拆分/旋转 pypdf Python 确定性PDF操作
填充表单 pdf-lib Node.js 表单自动化
HTML转PDF Puppeteer/Playwright Node.js 高保真网页渲染
HTML转PDF WeasyPrint Python 基于CSS3,无需浏览器

何时使用此技能

Claude应在用户请求以下内容时调用此技能:

  • 从数据生成PDF(发票、报告、证书)
  • 从现有PDF提取文本或表格
  • 合并多个PDF为一个文档
  • 拆分PDF为单独文件
  • 以编程方式填充PDF表单
  • 添加水印、页眉、页脚
  • 将HTML/网页转换为PDF

默认工作流程

  • 创建:选择pdfkit(Node)或ReportLab(Python),从assets/invoice-template.mdassets/report-template.md开始;对于高级布局使用references/pdf-generation-patterns.md
  • 提取:使用references/pdf-extraction-patterns.md(文本/表格/图像/元数据 + OCR回退)。
  • 交付:运行assets/pdf-release-checklist.md(保真度、链接、可访问性基线、隐私)。

脚本(确定性操作)

脚本是可选的助手;它们假设Python 3加上每个文件中列出的依赖项。

  • 合并:python3 scripts/merge_pdfs.py merged.pdf a.pdf b.pdf
  • 拆分:python3 scripts/split_pdf.py in.pdf out_dir --each-page
  • 旋转:python3 scripts/rotate_pdf.py in.pdf out.pdf --degrees 90
  • 清除元数据:python3 scripts/scrub_metadata.py in.pdf out.pdf

PDF结构模式

发票模板

发票结构
├── 页眉(徽标、公司信息、发票编号)
├── 账单地址/发货地址块
├── 行项目表
│   ├── 描述 | 数量 | 单价 | 总计
│   └── 小计、税费、总计
├── 付款条款
└── 页脚(联系信息、致谢)

报告模板

报告PDF结构
├── 封面页(标题、作者、日期)
├── 目录
├── 带有页码的主体部分
├── 带有标题的图表/图像
├── 附录
└── 运行页眉/页脚

决策树

PDF任务:[您需要什么?]
    ├─ 创建新PDF?
    │   ├─ 简单文本/表格 → pdfkit(Node)或ReportLab(Python)
    │   ├─ 复杂布局 → ReportLab与Platypus
    │   └─ 从HTML → Puppeteer或wkhtmltopdf
    │
    ├─ 从PDF提取?
    │   ├─ 仅文本 → pdfplumber(Python)
    │   ├─ 表格 → pdfplumber或camelot(Python)
    │   └─ 图像 → PyMuPDF/fitz(Python)
    │
    ├─ 修改现有PDF?
    │   ├─ 添加文本/图像 → pdf-lib(Node)
    │   ├─ 合并/拆分 → pypdf或pdf-lib
    │   └─ 填充表单 → pdf-lib
    │
    └─ 批量处理?
        └─ pypdf + pdfplumber管道

做 / 避免(2026年1月)

  • 保留版本控制的源文档(doc/幻灯片/设计文件)与PDF一起。
  • 验证长文档的链接和阅读顺序。
  • 使用真实编辑并通过复制/粘贴测试。

避免

  • 当存在源文档时,将PDF作为主要工作流编辑。
  • 分发带有损坏链接或难以辨认图表的PDF。
  • 在未经明确批准的情况下在PDF中包含客户PII或机密信息。

良好标准

  • 保真度:从版本控制的源文件(doc/幻灯片/设计)导出可重现,在不同查看器中看起来相同。
  • 可访问性:标记/阅读顺序正确;链接有效;扫描文档在适当时进行OCR。
  • 发布卫生:文件命名包含版本/日期;元数据干净;无“PDF作为真实源”。
  • 安全性:编辑已验证(复制/粘贴测试)并最小化敏感数据。
  • QA:使用assets/pdf-release-checklist.md完成发布检查表。

可选:AI / 自动化

仅在明确请求且符合政策时使用。

  • 生成发布检查表运行;人工手动验证最终PDF。

导航

资源

模板

相关技能