PDF 全能工具箱
集提取、创建、合并、拆分、表单处理于一体的 PDF 操作技能,让智能体高效处理文档。
证据显示技能主要依赖本地脚本和常见开源库(pypdf、pdfplumber等),未发现恶意行为或数据外传。但脚本直接执行系统命令(如qpdf、pdftotext)且无权限隔离或用户确认机制,敏感信息(如PDF内容)处理不透明。依赖库(如pytesseract、pdf2image)未限定版本,存在供应链风险。因此扣分,因权限、确认、隔离和恢复机制不完整。
技能提供了详细的步骤和脚本(如check_bounding_boxes.py),但静态审查无法验证其运行效果。脚本缺少错误处理(如文件不存在、依赖缺失),且未提供失败反馈。存在测试文件(check_bounding_boxes_test.py)但未集成到CI,且未覆盖所有关键路径。因此最多给6分(低于静态上限10),因happy path可能可行但边缘情况和错误处理薄弱。
技能明确定位于PDF处理,涵盖提取、合并、分割、表单填写等常见场景,但未明确声明非适用边界(如复杂扫描件或加密PDF的处理限制)。触发条件清晰(当需要PDF处理时),但无实际使用证据。环境适配方面:中文支持未提及,且依赖的系统工具(如poppler-utils)可能在海外下载受限,需注意。因此给9分(低于15),因范围明确但边界和环境适配证据有限。
文档结构分层良好:主SKILL.md作为概述,forms.md和reference.md提供渐进式披露。依赖安装有说明(如pip install pytesseract),但无版本要求或完整依赖清单。参数和命名一致,但无版本号或变更日志。许可证为专有(SKILL.md中声明),与仓库Apache-2.0不一致,且来源归属不明确。因此给8分(低于15),因文档可读但隐藏假设(如依赖已安装)和治理不完整。
技能覆盖了PDF处理的核心任务,但静态审查无法验证输出质量。表单填写步骤依赖视觉分析,可能需人工重做。边际价值存在(自动化常见操作),但无对比证据。因此给5分(低于7上限),因完成核心任务但输出直接可用性和比较优势证据不足。
存在测试文件(check_bounding_boxes_test.py)和CI工作流,但CI未包含该技能测试,且测试未自动运行。README中的演示和声明无第三方验证。因此给4分(低于5上限),因有主要材料但覆盖率薄,且无法独立复现。
- 技能依赖的系统工具(如poppler-utils、qpdf)可能无法从中国大陆网络直接获取,建议提前安装或使用镜像源。
- 脚本直接执行外部命令,缺乏权限隔离;在代理环境中运行前应审查脚本内容,避免意外执行危险命令。
- 依赖库无版本锁定,存在供应链风险;使用前建议锁定版本并检查已知漏洞。
- 技能未提供中文支持说明,中文文档可能需要额外翻译。
- 表单填写流程依赖视觉分析,可能产生不准确结果;使用时应仔细验证输出。
这个 Skill 能做什么,适合哪些场景?
PDF 全能工具箱是一套完整的多语言 PDF 处理指南,覆盖 Python 库与命令行工具,包括文本与表格提取、PDF 创建、合并拆分、表单填写、OCR、水印、图片提取和密码保护等操作。适用于需要程序化处理或分析 PDF 文档的智能体。该技能包含详细示例代码与快速参考表,并附有单独的表单处理和高级主题文档(forms.md、reference.md)。
本技能提供了一系列 PDF 处理的 Python 代码示例和命令行工具说明,具体包括:使用 pypdf 实现 PDF 合并、拆分、元数据提取、页面旋转和密码加密;使用 pdfplumber 提取带布局的文本及表格,并可导出为 Excel;使用 reportlab 创建单页或多页 PDF;使用 pdftotext、qpdf、pdftk 等命令行工具完成文本提取、合并、拆分、旋转;此外还提供扫描 PDF 的 OCR(tesseract)、添加水印(pypdf)、图片提取(pdfimages)等方法。
- 数据分析师需要从大量 PDF 报表中批量提取表格数据,转换为 Excel 进行后续分析
- 文档处理专员需要将多个 PDF 文件合并为一个,或按页拆分长文档
- 开发人员需要程序化生成包含图表和段落的 PDF 报告
- 研究人员需要从扫描版 PDF 中提取文本,使用 OCR 进行内容识别
- 需要为 PDF 添加水印、旋转页面或设置密码保护的办公人员
- 需要根据表单模板填写 PDF 表单的客服或后台人员
这个 Skill 有哪些优点和局限?
- 覆盖完整:从基础提取到高级表单,支持文本、表格、生成、合并、拆分、OCR 等
- 提供逐步代码示例和快速参考表,即拿即用
- 依赖成熟库(pypdf、pdfplumber、reportlab)和通用命令行工具(poppler-utils、qpdf),稳定性高
- 包含专门的表单处理指南(forms.md),处理表单需求更有针对性
- 文档未包含测试用例,实际环境差异可能导致部分命令不可用(如 pdftk 未预装)
- OCR 部分依赖 tesseract 和 pdf2image,需要额外安装系统级依赖,在无图形界面环境可能受限
- 表格提取的准确性依赖 pdfplumber 的支持,对于复杂或不规则表格可能需要人工校验
- 未提供自动化安装或环境配置脚本,使用者需手动准备依赖
- 技能自身受专有许可证约束(见 LICENSE.txt),使用时需注意合规性
如何安装这个 Skill?
本技能提供了操作指南,但未附带自动安装脚本。安装依赖库:pip install pypdf pdfplumber reportlab pandas pytesseract pdf2image;命令行工具通常通过系统包管理器安装(如 apt install poppler-utils qpdf pdftk)。克隆仓库:git clone https://github.com/modelscope/ms-agent.git,技能文件位于 examples/skills/claude_skills/pdf/。
如何使用这个 Skill?
将技能目录(含 SKILL.md 及 forms.md、reference.md)放入 Claude 的 skills 目录,或在自定义智能体中加载。然后以自然语言描述 PDF 处理需求,例如“用 pdfplumber 提取这个 PDF 的表格并导出为 xlsx”,技能会依据指南生成本地执行的 Python 代码或提供相应命令行。