如何 10 分钟让扫描 PDF 可搜索可复制:OCRmyPDF 实战指南
【免费下载链接】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 叠加一层可搜索的文本层。它不改变文档外观,却能让文档被搜索、复制和归档。适合要处理扫描合同、旧文档、纸质文件的人。
遇到这些情况,你就需要 OCR
- 扫描合同里想复制一句话,只能对着图片干瞪眼
- 在扫描文件里搜人名、单号,什么都搜不到
- 地图、图表类文档想搜地名,又怕处理完图被弄乱
上图是地图扫描文档:OCR 后地名可搜索,地图本身保持原样
两步装好并跑通第一次 OCR
需要 Python 3.11 以上,一条命令安装:
pip install ocrmypdf再一条命令处理文件,把输出指向新文件:
ocrmypdf scan.pdf searchable.pdf跑完后 searchable.pdf 和原件看起来一样,但文字已经能选中、能复制。
上图是 OCRmyPDF 实际运行截图:扫描、OCR、转 PDF/A、压缩一步完成
常用 OCR 参数速查
| 参数 | 作用 | 何时用 |
|---|---|---|
-l chi_sim | 指定识别语言,多语言用+连接 | 文档是中文或中英混合时 |
--rotate-pages | 自动把横倒的页面转正 | 扫描方向乱的时候 |
--deskew | 纠正倾斜的文字 | 页面歪斜几个角度时 |
--clean | 去污点、杂质 | 扫描件背景脏的时候 |
--oversample 600 | 先以 600 DPI 渲染再识别 | 识别不准、原图模糊时 |
--pages 1-10 | 只处理指定页 | 大文件先试几页时 |
进阶玩法
当你需要批量 OCR 整个文件夹
终端一行 for 循环跑完当前目录所有 PDF,输出统一加ocr_前缀:
for f in *.pdf; do ocrmypdf "$f" "ocr_$f"; done并发太多时加--jobs 1限制进程数即可。
上图是排版密集的技术说明书扫描件,OCR 后即可全文搜索
当你需要抢救低质量扫描件
模糊的低分辨率图别直接识别,先提渲染分辨率再跑 OCR:
ocrmypdf --oversample 600 old.pdf out.pdf老打字机文档、低清扫描用这一个参数,识别率通常明显提升。
上图是打字机旧文档扫描件,提高分辨率后更容易识别
当你需要归档标准文件
命令末尾加--output-type pdfa,输出就变成符合国际归档标准的 PDF/A-2 文件,适合要长期保存的合同、票据类文档。
翻车与自救
- 识别结果乱码→ 语言选错了。装语言包(如
sudo apt install tesseract-ocr-chi-sim),再用-l chi_sim重跑 - 大文件处理报内存不足→
--jobs 1限制并发,或用--pages分段处理 - 跑完文件没变化→ OCRmyPDF 默认跳过已有文本层的页面;想强制重做加
--redo-ocr - 装完找不到命令→ 用
ocrmypdf --version验证,确认安装目录在 PATH 里
指向扫描 PDF,它就变成可搜索、可复制的文件。完整参数参考项目docs/目录下的官方文档。
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考