公司动态
OCRmyPDF 完整上手指南:给扫描版 PDF 加上可搜索的文字层
OCRmyPDF 完整上手指南给扫描版 PDF 加上可搜索的文字层【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDFOCRmyPDF 是一个命令行 OCR 工具它给扫描版 PDF 添加一层可搜索的文字而不改动原有页面外观。适合手里有一堆扫描 PDF、想把它们变成可搜索、可复制文档的人。本文带你从零装好它并跑通第一份可搜索 PDF。它解决什么问题识别出的文字精确压在图片下方复制粘贴不会错位默认输出 PDF/A 格式适合长期存档基于 Tesseract 引擎支持 100 多种语言可自动校正歪斜页面并用满所有 CPU 核心三步装好运行环境以下以 LinuxDebian/Ubuntu为例macOS 与 Windows 的思路相同。# Debian / Ubuntu apt install ocrmypdf # macOS brew install ocrmypdfWindows 或 WSL 用户先安装 Tesseract OCR 与 Ghostscript再执行pip install ocrmypdf需要 Python 3.11 及以上。装完验证一下ocrmypdf --version ocrmypdf --help能看到版本号就说明环境就绪。如果后续想读源码主体代码在 src/ocrmypdf/ 目录命令行入口在 src/ocrmypdf/cli.py。一条命令跑通第一个扫描 PDF准备一份纯扫描的 PDF或一张扫描照片然后执行ocrmypdf input.pdf output.pdf运行后你会看到进度条依次显示 Scanning、OCR、Postprocessing、PDF/A conversion 等阶段最后得到一份通常比原文件更小、却能用阅读器搜索和复制文字的 PDF。常用参数速查处理外文或扫描质量不佳的文件时调整参数是关键参数作用示例值-l/--language指定识别语言可多语言叠加eng、engfra、chi_sim--rotate-pages自动旋转放倒的页面无需值--deskew校正倾斜的页面无需值--optimize压缩等级0 不压缩1默认、2、3--output-type输出格式默认即为 PDF/Apdfa、pdfa-2⚠️ 提示语言代码用错会直接报 Language data not available先用系统包管理器安装对应语言包再运行。参数还不够用时可以在脚本里直接调 API把它集成进自己的流水线import ocrmypdf ocrmypdf.ocr(input.pdf, output.pdf, languageeng)高频报错与修复page already has text! – aborting→ 文件里已有文字层OCRmyPDF 默认拒绝重复识别 → 用ocrmypdf --force-ocr强制重做或用--skip-text跳过已有文字的页Input file is not a valid PDF→ 文件损坏或传输不完整 → 用 Ghostscript 重写gs -o output.pdf -dSAFER -sDEVICEpdfwrite input.pdfTesseract cannot open its config file hocr→ 手动拼装的 tessdata 目录缺少 configs 配置 → 改用系统包管理器安装完整的 Tesseract⚠️ 提示如果识别结果为空但没有报错多半是语言数据不完整排错细节可参考项目文档 docs/errors.md。下一步可以做什么查阅 docs/ 官方文档了解批量处理、PDF 安全等进阶用法尝试 Docker 部署见 docs/docker.md适合跑大批量文件参考 misc/batch.py 的批量脚本思路把自己的扫描件整理成流水线【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考