OCRmyPDF: 为PDF添加可搜索文本层的开源工具
ocrmypdf/OCRmyPDF 是 GitHub 上的开源项目,目前获得 33,622 个 Star。


OCRmyPDF 可以为扫描版 PDF 文件添加 OCR 文本层,使文件支持搜索和内容复制粘贴。
工具默认输出 PDF/A 格式,适合长期存储。处理过程中会保留原始嵌入图像的分辨率,插入 OCR 信息时不会破坏原有内容。部分场景下,优化后的输出文件体积小于输入文件。
OCRmyPDF 支持自动校正页面旋转角度,也可以根据需求对倾斜的页面进行纠偏。工具使用 Tesseract OCR 引擎,支持超过 100 种语言识别。任务会分发到所有可用 CPU 核心运行,处理速度随核心数提升。
工具支持 Linux、Windows、macOS 和 FreeBSD 系统,也提供 Docker 镜像,适配 x64 和 ARM 架构。
不同系统的安装命令如下:
Debian、Ubuntu 系统使用 apt install ocrmypdf
Fedora 系统使用 dnf install ocrmypdf
macOS Homebrew 用户使用 brew install ocrmypdf
FreeBSD 系统使用 pkg install py-ocrmypdf
Ubuntu Snap 用户使用 snap install ocrmypdf
安装完成后,可以通过 ocrmypdf –help 查看完整命令参数说明。
常用使用示例:
为扫描版 PDF 添加 OCR 层并输出 PDF/A 格式:
ocrmypdf –output-type pdfa input.pdf output.pdf
将图片转换为单页可搜索 PDF:
ocrmypdf input.jpg output.pdf
直接修改原文件添加 OCR 层,仅在处理成功时覆盖原文件:
ocrmypdf myfile.pdf myfile.pdf
识别非英语语言内容,例如法语:
ocrmypdf -l fra LeParisien.pdf LeParisien.pdf
处理多语言文档,例如同时包含英语和法语的文件:
ocrmypdf -l eng+fra Bilingual-English-French.pdf Bilingual-English-French.pdf
对倾斜的页面进行自动纠偏:
ocrmypdf –deskew input.pdf output.pdf
OCRmyPDF 提供插件接口,可以扩展或替换核心功能。现有插件支持替换 Tesseract 引擎为 AppleOCR、EasyOCR、PaddleOCR 等不同 OCR 方案,适配不同使用场景。
工具代码托管在 GitHub,地址为 https://github.com/ocrmypdf/OCRmyPDF。



