用途:解决标准文件读取工具(如 read_file)读取 PDF 失败的问题。PDF 是复杂二进制格式,直接读取常返回原始二进制、Base64 图片、乱码或空字节;在沙箱环境中用 PyMuPDF 等 Python 库也可能因缺少依赖或环境限制而失败。本技能改用 pdftotext 命令行工具(poppler-utils 的一部分)提取文本。
主要能力:检测读取失败并回退到 shell 命令。判断标准是内容含空字节 \x00、呈现为 Base64、或明显为二进制/乱码。
使用方式:通过 run_shell 执行 pdftotext -layout -nopgbrk <file_path> -。其中 -layout 保留文本物理布局(可选但推荐),-nopgbrk 避免在页间插入换页符,末尾的 - 表示输出到 stdout 而非新建文件。捕获 stdout 即得到提取文本。
适用场景:Linux 类智能体环境、沙箱环境下的 PDF 文本抽取。
限制:环境需已安装 pdftotext(通常由 poppler-utils 提供);若未安装,可在权限允许时尝试 apt-get install poppler-utils,否则需通知用户。未提供关于收费、价格或具体默认安装状态的更多说明。