OCRmyPDF 免费 OCR 指南:3 分钟把扫描 PDF 变成可搜索文档
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
OCRmyPDF 是一款免费开源的命令行 OCR 工具(OCR 即光学字符识别,把图片里的文字变回可编辑文本)。它把扫描版 PDF 原样保留,只在图像下方叠一层可被搜索的隐藏文本,处理全程离线,文件不出本机。
它替你省了什么
你丢进去一个只有图片的扫描 PDF,出来的还是同一份文件,但每一页底下多了一层 OCR 文本,可以直接搜索和复制。以前用在线服务,得上传文件、排队等待、再下载回来;用手机拍照,一页一页拍还受光线限制。现在这一步省了:本地直接跑,识别交给 Tesseract 引擎(开源识别引擎),支持 100 多种语言,多页多文件排队处理。
| 对比项 | 在线 OCR 服务 | 手机拍照识字 | OCRmyPDF |
|---|---|---|---|
| 数据位置 | 上传到对方服务器 | 上传云端识别 | 全程本地,文件不出机器 |
| 画质 | 常被重压缩 | 受拍照质量限制 | 保留原始嵌入分辨率 |
| 费用 | 多按量收费 | 多有次数限制 | 免费开源 |
| 批量 | 一次一个 | 一张一张拍 | 多页、多文件排队处理 |
一句话:文件留在自己机器上,质量、费用、批量三项全占优。
从零到跑通:三个系统一条命令装好
pip install ocrmypdf # Windows brew install ocrmypdf # macOS apt install ocrmypdf # Linux(Debian / Ubuntu)Windows 上还需要 Tesseract、Ghostscript 两个依赖,具体步骤见 安装文档。
装完跑第一条命令:
ocrmypdf 扫描件.pdf 输出.pdf怎么确认跑通了:用 PDF 阅读器打开输出文件,按 Ctrl+F 搜一个你记得的词,能命中、能选中复制,说明文本层加上了。没命中多半是语言没指定对,看下一节。
你大概率会用到的高频参数
--language:指定识别语言,决定准不准。
ocrmypdf --language chi_sim+eng 文档.pdf 输出.pdf默认按英文识别,中文、法文等文档不加这个参数会明显失准。
--deskew+--clean-final:摆正页面,顺手去阴影去噪点。
ocrmypdf --deskew --clean-final 歪斜.pdf 输出.pdf扫描件整页倾斜、有脏污时先预处理再识别,比硬识别准确率高。
--jobs:按 CPU 核心数并行处理,页数多时提速。
ocrmypdf --jobs 4 大文件.pdf 输出.pdf4 核机器写 4 即可。不加就单核串行,大文件会慢不少。
两个真实场景
学术文献批量入库:研究生和档案管理员最常干这活。扫描论文、老书页码多、常有中英混排,用--language chi_sim+eng一次识别两种语言,再开--jobs 4并行,整批文件晚上挂机跑完。
歪斜票据归档:财务和记账的人手里那些又歪又脏的账单发票扫描件,直接识别错误率高。组合是--deskew先摆正、--clean-final去噪再识别,准确率明显更好。
报错速查:踩坑先看这里
| 报错 / 现象 | 大概率原因 | 一条命令或操作 |
|---|---|---|
| 提示缺少语言包 | 对应的 Tesseract 语言包没装 | apt-get install tesseract-ocr-chi-sim |
| 大文件内存不足 | 整份文件一次载入 | ocrmypdf --pages 1-50 大文件.pdf 部分1.pdf |
| 处理速度偏慢 | 并行数没开或核心数给少了 | ocrmypdf --jobs 4 文档.pdf 输出.pdf |
| 识别结果大量乱码 | 语言没指定或扫描件太糊 | 加--language指定,必要时--clean-final去噪 |
其余报错可以翻 官方错误文档,按提示逐条排。
延伸阅读
想查全量参数和自定义识别流程,直接看仓库里的这两处就够了:
- 官方文档:docs/
- 内置插件实现(识别流程都在这):src/ocrmypdf/builtin_plugins/
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考