OCRmyPDF完整指南:一条命令为扫描PDF添加可搜索文本层
2026/8/21 16:45:57 网站建设 项目流程

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 / WSLapt install ocrmypdf
macOS (Homebrew)brew install ocrmypdf
Fedoradnf install ocrmypdf tesseract-osd
FreeBSD / OpenBSDpkg 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)在识别后压缩图像,数值越大文件越小、画质损失越大。多页大文件会按页并行处理,进度条会实时显示各阶段状态。

图:实际运行截图,展示了多页并行扫描、识别与优化各阶段的进度。

更多批处理写法(如跳过已有文本层、失败续跑)可参考批处理文档。

下一步

  1. 按系统表格安装后,运行ocrmypdf --help确认工具可用,并浏览全部选项。
  2. 挑一份手头的扫描件执行ocrmypdf 输入.pdf 输出.pdf,在 PDF 阅读器里搜索一个已知词,验证文本层已生效。
  3. 有批量或归档需求时,克隆仓库获取完整脚本与文档: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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询