把扫描PDF变成可搜索文档:开源OCR工具完整指南
把扫描PDF变成可搜索文档开源OCR工具完整指南【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDFCtrlF搜不到东西这就是扫描PDF的毛病你手里有一份200页的扫描论文想找个关键词CtrlF 搜了半天一个字都匹配不上。不是你没搜对而是这份 PDF 里根本没有文字——每一页其实只是一张看起来像文字的图片。OCRmyPDF 就是为这件事做的开源工具它给扫描 PDF 做一遍光学字符识别OCR在原始图像下面垫一层真正的文本层让文档变得可搜索、可复制、可粘贴。图像一个字都不会改只是多了一个影子文本层。5分钟跑通三条命令入门先装上它三种任选其一pip install ocrmypdf # 通用方式装好后可直接执行 ocrmypdf 命令最基础的转换一条命令ocrmypdf scan.pdf searchable.pdf # 读入扫描PDF输出带文本层的可搜索版本没有现成 PDF图片也行ocrmypdf 扫描图.jpg 输出.pdf # 直接把JPG/PNG图片转成可搜索的OCR PDF想认中文或中英混排加个语言参数ocrmypdf -l chi_simeng 双语文档.pdf 结果.pdf # 同时加载简中和英文识别模型跑完一条完整命令后终端会像下面这样把每个阶段的进度条和最终优化率都打出来截图里能看到三件事8 页并行处理、Tesseract 的警告提示、最后输出文件是 PDF/A-2B 格式。幕后三步输入、处理、输出 它的工作流拆开看只有三段对应源码里的 src/ocrmypdf/_pipelines/ 模块。第一步把页面画成图。OCR 引擎只认图片不认 PDF所以 OCRmyPDF 先分析每页的颜色空间和分辨率再用栅格化器pypdfium2 或 Ghostscript把页面渲染成位图。第二步把图喂给 Tesseract。图像识别引擎逐页跑出文字内容并给每段文字附上精确的坐标框。如果加了--deskew之类的预处理选项还会先矫正倾斜再识别。第三步把文字贴回原文件。识别出的文本以透明方式覆盖在原始图像上版式、字体、元数据原样保留。默认输出是 PDF/A-2B 归档格式——这是为长期保存设计的 ISO 标准子集连美国法院都要求用这种格式存档扫描件。三个真实场景怎么用扫描论文做OCR先矫正倾斜再识别问题老论文扫描件页面歪斜、有噪点直接识别准确率会打折扣。命令ocrmypdf --deskew --clean-final 旧论文.pdf 可搜索论文.pdf # --deskew 自动测量并校正页面倾斜--clean-final 去除识别前的噪点效果倾斜被拉正后再识别输出文本层与图像对齐搜索和复制都能正常用。下图就是典型的输入样本——一张打字机时代的扫描文档正是这类只有图没有字的文件团队批量PDF处理多线程并行问题档案部门一次收几百份扫描件一份一份跑要等到天黑。命令ocrmypdf --jobs 4 输入目录/ 输出目录/ # 4个并行工作进程整目录批量处理效果--jobs让多核 CPU 同时干活页数越多差距越明显几百份文档挂上后台就能走开。长期归档一条命令转PDF/A问题企业归档的扫描件过几年打开可能缺字体、丢元数据。命令ocrmypdf --title 2024年报 --author 财务部 原始扫描件.pdf 归档版.pdf # 默认即PDF/A-2b标题作者会写进文件元数据效果字体、色彩配置文件全部内嵌进文件不依赖任何外部资源符合 ISO 长期存档标准--optimize 1还能顺手把体积压下来。踩过的坑这5种情况你多半也碰到过输出文件比输入还大大概率是 PDF/A 转换在起作用——归档格式必须内嵌字体等资源文件必然变胖。只是临时用的话加--output-type pdf输出普通 PDF 即可。警告 lots of diacritics - possibly poor OCR这是 Tesseract 提示页面里带变音符的字符太多常见于语言包没选对或扫描质量差。先核对-l参数再用ocrmypdf --list-languages看看本机到底装了哪些语言包。中文识别出来全是乱码原因基本只有一个没装chi_sim语言包也没在-l里声明。装对应的 tesseract 语言包后把语言参数加进去识别就正常了。想重新OCR一份已经有文字层的PDF默认情况下 OCRmyPDF 会跳过已含文本的页面这是防重复劳动的保护。确认要覆盖时加--force-ocr强制重做。大文档跑得慢到怀疑人生别干等--jobs 4让四个页并行处理再配合--optimize 1边处理边压缩慢和大这两个问题能同时缓解。继续深挖资源入口docs/cookbook.md常见用法的配方合集想看某某操作该敲什么参数先翻它。docs/advanced.md高级调优项的说明解决 Ghostscript 压缩、色彩管理等疑难杂症。src/ocrmypdf/api.pyPython 库接口入口想把 OCR 流程嵌进自己的脚本或 Web 服务从这里入手。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
