OCRmyPDF完整指南:一条命令为扫描PDF添加可搜索文本层
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
OCRmyPDF 是一个免费开源的命令行工具,作用是对扫描版 PDF 做 OCR 识别,并把结果作为隐藏文本层写回文件,使原本只能"看"的扫描件变成可以搜索、复制、做全文索引的文档。原图完整保留,输出默认是经过校验的 PDF/A 归档格式。如果你经常处理扫描合同、档案资料或纸质文档的数字化,这份指南按"从装好到跑通,再到处理疑难文件"的顺序说明它怎么用。
它接受什么输入,产出什么文件?
| 项目 | 说明 |
|---|---|
| 输入 | 扫描版 PDF,也直接支持 jpg、png 等图片文件 |
| 输出 | 带可搜索文本层的双层 PDF,默认为 PDF/A 格式 |
| 文本位置 | 文本层与图像逐字对齐,复制粘贴时顺序不乱 |
| 图像质量 | 保留嵌入图像的原始分辨率,不重采样 |
| 校验 | 输入输出都会做 PDF 有效性检查 |
一句话概括它的产出:外观和扫描件一模一样,但在文字下面多了一层肉眼不可见、可以被选中的真实文字。
图:一份典型的扫描纸质文档,处理后即可在其中搜索关键词。
最快怎么安装,第一条命令怎么写?
各系统都有一条安装命令,装完即可直接使用:
| 系统 | 安装命令 |
|---|---|
| Debian / Ubuntu / WSL | apt install ocrmypdf |
| macOS (Homebrew) | brew install ocrmypdf |
| Fedora | dnf install ocrmypdf tesseract-osd |
| FreeBSD / OpenBSD | pkg install py-ocrmypdf/pkg_add ocrmypdf |
更细的环境差异(Docker、离线安装等)可查安装文档。
装好后,最小可用的命令只有两个参数:
ocrmypdf scanned.pdf searchable.pdf第一个是输入,第二个是输出。运行期间它会先渲染页面、再逐页调用 Tesseract 识别,完成后输出文件就能在 PDF 阅读器里搜索了。
中英文混排或多语言文档能识别吗?
可以。语言通过-l参数指定,多种语言用加号拼接;可识别的语言数量取决于 Tesseract 语言包,覆盖一百种以上语言,语言包的安装方法见语言包说明。
ocrmypdf -l eng+fra --sidecar out.txt in.pdf out.pdf上面这条命令做两件事:按英法混排模式识别;同时用--sidecar额外导出一份纯文本文件,方便直接交给后续脚本做检索或分析。
图:一份荷兰语打字机文档,属于多语言识别的常见输入类型。
页面歪斜、方向转了、背景发脏怎么办?
这类问题在扫描件里非常常见,对应四个参数:
| 参数 | 作用 |
|---|---|
--deskew | 估计页面倾斜角度并旋转回水平,适合歪斜几度的扫描件 |
--rotate-pages | 判断页面朝向,把横倒、上下颠倒的页旋转正位 |
--clean | 清除扫描图中的噪点、小黑点 |
--remove-background | 压制背景底色,让文字更干净 |
ocrmypdf --deskew --rotate-pages in.pdf out.pdf原理上一句话带过:deskew 依据文本行的角度估计来计算旋转量,识别引擎是 Tesseract,图像预清理由 unpaper 完成。
一整批文件怎么批量处理?
在放满 PDF 的目录里,一条 for 循环就够了:
for f in *.pdf; do ocrmypdf --deskew "$f" "ocr_$f"; done补充两个与批量场景相关的参数:--jobs N指定并行工作进程数,不写时默认用满 CPU 核心;--optimize N(N 取 1 到 3)在识别后压缩图像,数值越大文件越小、画质损失越大。多页大文件会按页并行处理,进度条会实时显示各阶段状态。
图:实际运行截图,展示了多页并行扫描、识别与优化各阶段的进度。
更多批处理写法(如跳过已有文本层、失败续跑)可参考批处理文档。
下一步
- 按系统表格安装后,运行
ocrmypdf --help确认工具可用,并浏览全部选项。 - 挑一份手头的扫描件执行
ocrmypdf 输入.pdf 输出.pdf,在 PDF 阅读器里搜索一个已知词,验证文本层已生效。 - 有批量或归档需求时,克隆仓库获取完整脚本与文档:
git clone https://gitcode.com/GitHub_Trending/oc/OCRmyPDF,其中 docs/batch.md 与 docs/pdfa.md 是后续最常查的两篇。
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考