ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

用 OCRmyPDF 给扫描 PDF 做 OCR 的完整入门指南

用 OCRmyPDF 给扫描 PDF 做 OCR 的完整入门指南 用 OCRmyPDF 给扫描 PDF 做 OCR 的完整入门指南【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF上周收到一份 200 页的扫描版合同甲方要查一个违约条款全文检索翻了一遍什么都没有——文件里全是图片一个字都搜不到。这种情况用 OCRmyPDF 处理一遍就行它在扫描版 PDF 上叠加一层可搜索的文字层原图保留文字可复制。装好工具一行命令就能把死图片变成活文本。 安装与验证OCRmyPDF 是一个开源、免费的命令行工具定位很直接给扫描版 PDF 补上 OCR 文本层让文档从只能看变成能搜、能复制。使用者基本是三类人——处理合同和报销单的办公人员、整理旧资料的档案管理员以及需要检索扫描件的研究者。它的底层识别引擎是 Tesseract输出文件默认是 PDF/A-2b这是 ISO 19005 定义的长期归档格式处理完可以直接进档案库。先按系统装好工具再跑一条命令确认环境没问题。# macOS brew install ocrmypdf # Debian / Ubuntu sudo apt install ocrmypdf tesseract-ocr# Windows先装 64 位 Python、Tesseract、Ghostscript然后 py -m pip install ocrmypdf装完验证版本ocrmypdf --version⚙️ 核心工作流从输入到输出整个流程就是备料、跑命令、看结果三件事。输入就是一个普通的 PDF 文件扫描件、影印件、手机拍的都行。先跑一下ocrmypdf --version能打印出版本号说明工具、Tesseract、Ghostscript 这条依赖链都通了再开始正式干活。ocrmypdf scanned.pdf searchable.pdf处理时终端会依次滚过扫描、OCR、PDF/A 转换、压缩几个进度条看到savings字样说明已经输出。输出文件用任意 PDF 阅读器打开CtrlF搜一个你确认存在过的词能高亮再试着选中一段文字复制能粘出来说明文字层已经生成。想确认归档格式是否正确把输出拖到免费的 verapdf 校验一下即可。 常用参数速查参数作用示例值--language指定识别语言可多语言叠加engchi_sim--pages只处理指定页码范围1-50--jobs并行任务数0 为自动4--optimize输出文件优化级别1 为默认1~3--clean清理图像噪点识别前预处理开关--deskew自动校正页面倾斜开关--output-type输出格式pdfa/pdfa-2/none 进阶用法批量 OCR 脚本一次处理整个目录最简写法是个 for 循环# 处理当前目录所有 PDF输出到 ocr_ 前缀文件 for f in *.pdf; do ocrmypdf $f ocr_$f; done文件多、耗时长的场景官方推荐用 GNU Parallel 再叠加一层文件级并行写法见 docs/batch.md。插件机制OCRmyPDF 的插件是 Python 模块通过 entry point 注册到流水线钩子上运行时用--plugin加载可以替换图像预处理、图像渲染等任意环节。想了解扩展点怎么定义参考 docs/plugins.md仓库里的 misc/example_plugin.py 是个能直接读的最小示例。⚠️ 踩坑与解决中文识别结果全是乱码现象识别出的中文错字连片、断句混乱。原因--language没指定默认只认英文。解法--language chi_sim中英文混排就写engchi_sim并确保已装tesseract-ocr-chi-sim语言包。Windows 上报错找不到 Tesseract现象命令一跑就提示 tesseract 不可用。原因Windows 上 Tesseract 和 Ghostscript 需要单独安装pip 只装 Python 部分。解法装 64 位 Tesseract 和 Ghostscript 后重新打开终端让 PATH 生效详见 docs/installation.md。大文件处理到一半卡死现象几百页的 PDF 跑到一半进程被系统杀掉。原因单页图像在内存里展开总量超出可用内存。解法用--pages 1-100分批跑把文件切成几段分别输出。 效率小贴士--pages先圈定范围试跑确认识别效果没问题再全量处理。--jobs 0自动用满 CPU 核心数不确定填多少就交给它。存档文件用默认--optimize 1即可需要压体积时上--optimize 3。输出默认就是 PDF/A-2b处理完直接归档不用额外转换。处理完用 verapdf 校验一遍确认输出真的符合 PDF/A 标准。小结回头说那份 200 页的扫描合同ocrmypdf一条命令跑下来违约条款在全文搜索里一次命中要引用的段落直接复制进备忘录。OCRmyPDF 做的事不复杂——给扫描版 PDF 补一层能搜的文本输出默认就是归档级的 PDF/A-2b——但把只能看变成能搜、能复制日常文档处理效率的变化是实实在在的。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表