PDF Reader — PDF 阅读器
v1.0.0从PDF文件中提取文本,具有自动OCR(光学字符识别)回退功能,用于扫描/图像基于的PDF。使用场景:(1)用户发送PDF文件,框架未自动注入文本内容,(2)注入的文本为空或乱码,(3)磁盘上存在PDF文件,需要提取文本,(4)用户提到“读取PDF”、“提取PDF”、“PDF内容”、“扫描PDF”、“OCR”。同时支持文本层PDF(快速pdftotext)和扫描/图像PDF(tesseract OCR)。默认支持中文和英文,语言可配置。支持API、CLI和GitHub等平台。
运行时依赖
安装命令
点击复制技能文档
PDF阅读器 从任何PDF中提取文本——文本层或扫描图像。
工作原理 接收PDF├─是否有文本层?──→ pdftotext (快速,高质量) │ └─文本太稀疏?──→ 回退到OCR └─检测为扫描?──→ 跳过文本,直接使用OCR pdftoppm → tesseract
快速开始 通过exec运行捆绑脚本:bash /scripts/pdf-extract.sh /path/to/file.pdf 保存到文件:bash /scripts/pdf-extract.sh /path/to/file.pdf --output /tmp/result.txt 然后使用read工具读取/tmp/result.txt。
何时触发此技能 用户在聊天中发送PDF,但没有文本内容被注入(仅文件路径可见) 注入的内容为空、乱码或截断 用户明确要求读取/提取/OCR PDF文件 磁盘上的PDF文件需要文本提取以进行下游处理
典型工作流 识别PDF文件路径(通常为/root/.openclaw/media/inbound/...) 运行提取脚本 读取输出并响应用户
示例: # 提取并保存 bash /scripts/pdf-extract.sh "/root/.openclaw/media/inbound/document.pdf" -o /tmp/pdf-text.txt # 然后使用read工具读取/tmp/pdf-text.txt
脚本选项 标志 描述 默认 --lang Tesseract语言 chi_sim+eng --dpi OCR图像分辨率 300 --output / -o 保存到文件而不是stdout stdout --ocr-only 强制OCR,跳过文本提取 off --text-only 仅文本提取,不使用OCR回退 off
自动安装 脚本自动安装缺失的工具(poppler-utils,tesseract-ocr)通过apt-get,yum或brew。无需手动设置。
语言支持 默认:简体中文 + 英语(chi_sim+eng)。其他语言: # 日语 + 英语 bash /scripts/pdf-extract.sh file.pdf --lang jpn+eng # 韩语 bash /scripts/pdf-extract.sh file.pdf --lang kor Tesseract语言包根据--lang自动安装。
限制 OCR质量取决于扫描质量;低分辨率或手写PDF可能会产生错误 加密/密码保护的PDF不支持 大型PDF(50+页)可能需要1-2分钟进行OCR 纯图像页面(照片,图表无文本)会产生噪音——这是预期的