用途:当 PDF 是主要输入或输出时使用,在 macOS 本地完成 PDF 的读取、比较、对账、文本/表格/图片提取、扫描件 OCR、表单填写、拆分、合并、旋转与重命名等处理。
主要能力与原则:文档内容默认保持本地,除非用户明确授权上传或外泄;原始 PDF 逐字节保留,默认写入同级输出、副本或指定目标,不做破坏性替换;金额、标识符、日期、符号与显示精度按字符串保留,算术用 decimal.Decimal,不推断缺失行、不静默丢弃表头、脚注、续行或边界页;先检查结构与代表性渲染,再选择能保留布局、表单、注释与图像质量的最小工具;每个写出的 PDF 都要做结构校验与任务语义校验,命令成功退出不等于结果正确;对私密财务、税务、法律与健康文档,报告保持简洁,优先给出计数、对账与文件引用。
使用方式:先从 SKILL.md 解析技能目录,对未知输入运行 uv run "<skill-dir>/scripts/profile.py" "<input.pdf>",该脚本输出带 schema 版本的 JSON,含完整性、加密、页面几何/旋转、图像数量与逐页文本覆盖率,不含正文;遇到 password_required 即停止,密码处理不在本技能范围。按证据选择工具:快速阅读或按页提取用宿主 PDF 阅读器,再用 pdftotext -layout;坐标、分栏或困难表格用 Poppler 边界框,再通过 uv run 调用 pdfplumber;纯图像或文本严重不完整用 OCRmyPDF 配合 Tesseract,默认语言 eng+ron;合并、拆分、旋转或完整性检查用 qpdf;渲染页面或提取内嵌图像用 pdftocairo 或 pdfimages;有序图像转 PDF 用 img2pdf;压缩先用 qpdf 无损重写,仅在接受有损时才用 Ghostscript;检查、填写、扁平化或叠加表单前先读 references/forms.md;需要具体命令时读 references/recipes.md。
执行与对账:先判定每页是数字、扫描、混合、旋转还是图像密集;提取或转换到新路径,表格文档保留页面来源并在分配行前解析跨页续行;用页数、行数、期初/期末余额、流入流出、小计、显示合计、日期覆盖与来源哈希对账;比较时独立提取双方,列出重叠与独有事实,对每处重大分歧渲染对应页面,区分真实差异与提取失败;拆分或重命名时用稳定内容标识建立新旧映射,默认复制,必要时保留上下文边界页,并验证每个结果的首末页。
限制:仅面向 macOS 本地流程;密码处理不在范围内;未提供具体安装命令、版本要求、收费或平台支持等细节。