OCRmyPDF 完全教程:3 条命令给扫描 PDF 加上可搜索的文字层
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
如果你有一批扫描出来的 PDF,翻得动、却搜不到、复制不到一个字,OCRmyPDF 就是干这个的:它是一个免费开源的命令行工具,能把 OCR 文字层垫在扫描图像下面,让 PDF 重新变得可搜索、可复制。它保留原始图像分辨率,默认还输出 PDF/A-2b 存档格式,并在收尾时自动校验输入和输出文件的合法性。下面按"能装 → 能跑 → 会用参数"的顺序,带你走一遍。
从安装到第一次转换的最快路径
装好之后一条命令就能跑通,这条命令帮你完成的是"给扫描件加上文字层"这一件事。
# Debian / Ubuntu apt install ocrmypdf # macOS brew install ocrmypdf # 转换 ocrmypdf 扫描件.pdf 可搜索版.pdf执行成功时,终端会依次显示扫描、OCR、转换、优化四个阶段的进度条,最后打印文件体积的压缩比例,并确认输出是符合预期的 PDF/A-2b 文件。
如果你手头只有 JPG、PNG 图片,直接把图片路径填进去,同样能得到带文字层的单页 PDF。另外,输入输出写同一个文件名可以原地处理——只有成功时文件才会被改写,失败时原件不动,适合胆大心细地批量刷旧档。
处理多语言文档时先装语言包
识别能力由 Tesseract 语言包提供,不指定时默认按英语(eng)识别,中文文档会因此识别得一塌糊涂。先把对应语言包装上,再用-l参数按 ISO 639-3 代码点明文档里的语言:
apt install tesseract-ocr-chi-sim ocrmypdf -l eng+chi_sim 双语资料.pdf 输出.pdf四个最值得记住的参数
其余参数先不管,这四个覆盖了日常九成场景:
| 参数 | 作用 |
|---|---|
--output-type pdf | 不想输出存档格式时改用普通 PDF,体积略小 |
--optimize 1\~3 | 压缩强度,默认 1,数字越大文件越小 |
--deskew、--clean | 校正歪斜页面、清理噪点,扫描件质量差时先上这两个 |
--sidecar | 同步导出纯文本文件,方便单独校对识别结果 |
--jobs不用特意设置:程序默认就会把工作分派到所有 CPU 核心上,多核机器处理大批量文件时自然更快。
它适合谁,又在哪里会碰壁
先说边界。OCRmyPDF 基于 Tesseract,这套组合不识别手写体;双栏这类复杂版式的阅读顺序也可能被它读乱;扫描件本身糊,识别结果就糊,输入质量决定输出质量。对手写档案、或者需要逐字校对级精度的专业数字化工作,它只能作为初稿工具。
它真正对口的场景是:成百上千份扫描文档要归档入库、需要一份能放很多年不担心格式过时的存档件、扫描流程末端要自动接上 OCR,以及把它嵌进自己的脚本或文档管理系统里跑。后两种玩法项目里都有现成参考。
继续往下走的入口
- 官方文档目录:docs/
- 完整参数说明:docs/apiref.md
- 批量处理与"监听文件夹"方案:docs/batch.md,配套的现成脚本在 misc/batch.py
- 大文件提速技巧:docs/performance.md
- 输出体积偏大时:docs/optimizer.md
下一步可以拿一份你真实的扫描件跑一次基础命令,重点看终端末尾打印的体积优化比例和 PDF/A-2b 校验结果;如果输出明显偏大,再打开优化章节调整--optimize等级。
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考