PDF 文档处理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/kg-pdf。
技能介绍
你在处理 PDF 时常见的问题
工程场景里,PDF 往往不是「打开看一眼」就结束:要从合同或报告里抽全文做检索、从财报里抽表格进 Excel 或数据库、把多份扫描件合并再 OCR,或按模板批量生成带页码与水印的 PDF。版式复杂的精修排版仍要人眼确认,但「读 / 写 / 整理」这类可重复步骤,更适合用命令行与 Python 库做成稳定流水线。
技能如何组织工作流
本技能把任务按类型拆开,并约定结构化输出 PdfResult(任务类型、源文件、文本/表格、产物路径),方便下游接 Word 转换、多模态理解或入库。
- 抽取:
pdftotext(可选-layout、页范围)或pypdf逐页extract_text();表格用pdfplumber的extract_tables(),多表可经 pandas 导出 Excel。 - 结构操作:
qpdf合并(--empty --pages)、按页拆分、旋转;也可用pypdf逐页add_page写单页文件。 - 生成:
reportlab的 Canvas(简单画布)或 Platypus(多段、多页、样式)。 - 扫描件:
pdf2image转图 +pytesseract逐页识别。 - 水印与加密:
pypdf叠水印页;writer.encrypt(user, owner)设密码。 - 表单与图片:按字段读写字段值;
pdfimages -j提取内嵌图。
输入一般是 PDF 路径、任务类型和参数(页码、密码、字段值);输出除自然语言说明所用工具与注意点外,会带上 PdfResult JSON。
适用边界
适合文本/表格抽取、合并拆分旋转、表单填写、规模化生成与批处理。不适用需要保留复杂版式、像素级精修的排版设计——最终视觉效果应由你确认。OCR 质量取决于扫描清晰度与语言包配置,表格识别对有线框、规则行列更稳。
使用场景
- 法务收到 80 页合同 PDF,只需第 3~12 页单独归档,并要求把其中的费用明细表导出为 Excel 入库
- 财务每月合并十几份银行对账单 PDF,再对扫描回单跑 OCR 抽出金额与日期做核对
- 运维用 reportlab 按工单数据批量生成带页眉水印的交付 PDF,并用 pypdf 统一加密后发给客户
- HR 收到可填写 PDF 入职表,需按候选人信息批量写入表单字段并输出签字前版本
适合人员
- 每周要把多份 PDF 报表里的表格抽出来合并进数据仓库的数据工程师
- 需要把扫描合同、发票转成可检索全文并保留页码引用的合规或法务助理
- 用 Python 维护文档流水线、要在 agent 里固定输出 PdfResult 的后端或自动化开发者
- 面向客户交付敏感 PDF、要统一加水印与 owner 密码的交付或实施工程师