核心用法
pdf-extract 是一个极简的 PDF 文本提取工具,专为 LLM 场景设计。用户通过简单的命令即可将 PDF 文档转换为纯文本:基础用法为 pdf-extract "document.pdf" 提取全文,或指定页码范围 pdf-extract "document.pdf" --pages 1-5 进行局部提取。该技能本身不执行复杂逻辑,而是调用系统预装的 pdftotext 命令完成实际转换工作。
显著优点
架构简洁透明:无自定义代码执行,完全依赖成熟的外部工具,代码可审计性极高。依赖可靠:pdftotext 来自 Poppler 开源项目,是 Linux 发行版的标准组件,经过长期安全验证。零网络风险:不涉及任何网络通信,杜绝数据外泄可能。沙箱友好:仅需文件读取和执行权限,易于在受限环境中部署。
潜在缺点与局限性
功能单一:仅支持文本提取,无法处理扫描版 PDF(需 OCR)、无法保留格式信息、不支持表格或图片内容提取。系统依赖强:必须预装 poppler-utils 包,跨平台部署存在环境配置成本。输入风险:PDF 文件路径直接传递给系统命令,若未妥善验证可能存在路径遍历风险。无高级特性:不支持密码保护 PDF 的解密、不支持批量处理优化、无输出格式定制选项。
适合的目标群体
该技能最适合以下场景:需要快速将 PDF 论文、报告、合同等文档送入 LLM 进行摘要或问答的知识工作者;构建 RAG 流水线需要纯文本中间件的开发者;在受控服务器环境中进行文档处理的运维人员;以及对工具透明度有严格要求的安全敏感型用户。不适合需要复杂 PDF 解析(如表格提取、版面分析)或处理扫描文档的场景。
使用风险
命令注入风险:虽然 skill 框架会对参数进行处理,但极端情况下恶意构造的文件路径仍可能引发意外行为,建议配合路径白名单使用。依赖版本风险:系统 pdftotext 版本过旧可能存在已知漏洞,需保持依赖更新。性能瓶颈:超大 PDF 或批量处理时,外部进程调用开销明显,无内置并发优化。错误处理有限:依赖工具的退出码和 stderr,复杂 PDF(损坏、加密)的错误信息可能不够友好。