关于 pdf
面向需要谨慎提取或转换文档的 Agent,指导在 macOS 本地处理 PDF。它依据文档结构选择工具,并要求保留原件、验证输出结构与语义。
主要功能
- 01本地分析与处理 PDF
- 02依据证据选择工具
- 03文本、表格与 OCR 提取
- 04PDF 转换与表单处理
- 05结构和语义验证
- 06保留原始文件
适用场景
- 01提取跨页财务表格
- 02对扫描或文本不完整的 PDF 做 OCR
- 03合并、拆分、旋转或压缩 PDF
- 04检查表单位置和渲染布局
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill pdf安装后在 Claude Code 中输入/pdf确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/forms.mdrecipes.mdscripts/form.pyprofile.py详细介绍
在 macOS 上本地处理 PDF,实现精确提取、保留源文件、审慎路由工具,并进行结构和语义验证。
不变量
- 在本地执行提取和转换。工具输出和 Agent 内部报告中与任务相关的文档证据可能会由已配置的模型提供方处理。上传或发送文档内容到该 Agent 工作流之外之前,必须取得用户的明确授权并完成外部披露审查。下载软件包和语言数据并不代表获得披露文档的授权。
- 逐字节保留每个原始 PDF。除非用户授权破坏性替换,否则应写入同级输出文件、副本或明确指定的目标位置。
- 将金额、标识符、日期、正负号和显示精度保留为字符串。进行算术运算时使用
decimal.Decimal。绝不推断缺失行,也不静默丢弃表头、脚注、续行或边界页。 - 选择转换方式前,先检查结构并查看具有代表性的渲染结果。选择能保留所需版式、表单、批注和图像质量的最小工具。
- 对每个写入的 PDF 进行结构验证和任务语义验证。命令成功退出并不能证明提取的行、总计、页面边界、表单外观或视觉版式正确。
- 对私人财务、税务、法律和健康文档,报告应简明扼要。除非原始敏感行对任务至关重要或用户提出要求,否则优先提供计数、对账结果和文件引用,而不是原始敏感行。
先分析配置文件
从此 SKILL.md 确定技能目录,然后分析每个未知输入:
uv run "<skill-dir>/scripts/profile.py" "<input.pdf>"
该辅助程序会输出带架构版本的 JSON,其中包含完整性、加密、页面几何尺寸/旋转、图像数量和逐页文本覆盖率,不包含文档文本。遇到 password_required 时停止。密码处理不在此技能范围内。
当版式、裁剪、OCR 质量、签名或表单位置很重要时,渲染第一页和最后一页、每个结构边界页,以及任何存在差异的页面。对于密集图表、表格或技术图纸,应以更高分辨率渲染,并裁剪或放大相关区域后再读取数值。
根据证据选择路径
| 需求 | 首选路径 |
|---|---|
| 快速阅读或按页提取 | 有条件时使用宿主 PDF 阅读器,然后使用 pdftotext -layout |
| 坐标、分栏或复杂表格 | Poppler 边界框,然后通过 uv run 使用 pdfplumber |
| 纯图像或文本明显不完整 | 使用 Tesseract 的 OCRmyPDF。默认语言:eng+ron |
| 合并、拆分、旋转或完整性检查 | qpdf |
| 渲染页面或提取嵌入图像 | pdftocairo 或 pdfimages |
| 将有序图像转换为 PDF | img2pdf |
| 减小文件大小 | 优先使用 qpdf 无损重写。仅在接受有损处理时使用 Ghostscript |
| 检查、填写、扁平化或叠加表单 | 先阅读 references/forms.md |
只有在需要了解所选提取、转换、OCR、图像、比较或压缩路径的具体命令时,才阅读 references/recipes.md。
执行与核对
- 分析输入文件,并判断每个页面是数字版、扫描版、混合版、旋转页面还是以图像为主。
- 提取内容或转换到新路径。对于表格文档,保留页面来源信息,并在分配行之前解析跨页续表。
- 使用所有可用的不变量核对财务和证据输出:页数和行数、期初与期末余额、流入与流出、小计、显示的总计、日期覆盖范围,以及在来源信息重要时核对来源哈希值。
- 比较时,分别提取两个来源,列出重叠事实和独有事实,并呈现每处重大分歧涉及的页面。区分真实差异与提取失败。
- 拆分或重命名时,根据稳定的内容标识符建立旧内容到新内容的映射。默认复制,必要时保留上下文边界页面,并核验每个结果的首页和末页。
- 使用 qpdf、预期页数和尺寸、文本覆盖情况、代表性页面渲染结果以及任务的语义不变量来验证输出。仅在用户要求或有助于作为证据时,才保留 OCR 辅助文件或提取中间文件。
完成任务需要保留原件、生成符合预期的输出、通过结构检查、完成语义核对,并简要报告路径和证据。只读报告开头使用 ### 📄 PDF — 🔎 inspected, no files written。只有在所有必要验证均通过后,才使用 ### 📄 PDF — ✅ updated。必要检查未通过时,使用 ### 📄 PDF — ⛔ not deliverable。
评论
支持 Markdown