SuperAPI AI 工具集

ocr

办公与效率

查看项目

更新于 10-20 09:59

技能介绍

用途:为扫描件或纯图片 PDF 添加可搜索、可复制的文本层。OCRmyPDF(MPL-2.0)逐页栅格化,调用 Tesseract 识别,并输出一个在原图之上叠加不可见文本层的新 PDF。整个过程在本地完成,免费、结果确定,不消耗 AI token。

主要能力:支持去倾斜(--deskew)、清理噪点(--clean,需要 unpaper)、整页旋转校正(--rotate-pages)、多核加速(--jobs N)、导出纯文本(--sidecar)、按页码范围处理(--pages)、跳过已有文本页(--skip-text)、重做已有 OCR 层(--redo-ocr)以及多语言识别(-l)。

使用方式:先检查依赖,运行 tesseract --version && gs --version && uvx ocrmypdf --version,三者都能输出版本号即可。uvx 无法安装 Tesseract 与 Ghostscript,需按操作系统单独安装:macOS 使用 brew install ocrmypdf(附带 Tesseract、Ghostscript、unpaper),额外语言用 brew install tesseract-lang;Debian/Ubuntu/WSL 使用 sudo apt install ocrmypdf unpaper,额外语言如 tesseract-ocr-deu;Fedora 使用 sudo dnf install ocrmypdf tesseract-osd,语言包为 tesseract-langpack-<lang>;Windows 原生环境用 winget install -e --id tesseract-ocr.tesseract,并从 ghostscript.com 安装 64 位 Ghostscript。发行版包可能落后于 PyPI,uvx ocrmypdf 始终运行当前版本并配合系统 Tesseract。随后按情况选择参数,再试跑与全量运行:页数较多时先用短页码范围试跑,如 uvx ocrmypdf --deskew --clean --pages 1-5 --sidecar trial.txt input.pdf trial.pdf,检查 trial.txt 与源页逐页一致后再全量执行,如 uvx ocrmypdf --deskew --clean --sidecar output.txt input.pdf output.pdf。命令退出码为 0 且输出文件存在即完成;退出码 6 表示 PDF 已有文本,可改用 pdf-extract,或加 --skip-text / --redo-ocr。处理文件夹时循环文件,并在每个文件旁写入 "${f%.pdf}_ocr.pdf"。纯文本可从 sidecar 获取;若需 OCR 后 PDF 的逐页文本,可对输出 PDF 运行 pdf-extract 技能。

适用场景:扫描文档、书籍扫描、图片型 PDF 的检索与文本提取;需要本地处理、避免上传或消耗 AI token 的场合。

限制:手写、特殊字体、密集表格、公式与图表识别效果差,建议抽查 sidecar,记录效果差的页码,仅将这些页交给 document-parse 技能的 AI 路径处理;--clean 依赖 unpaper;非英语识别需先安装对应语言包。