
OCRmyPDF免费给扫描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 就是干这一件事的开源工具给扫描版 PDF 补一层不可见的 OCR 文本版式像素级不变但从此可搜索、可复制、可建索引。Linux、macOS、Windows 全平台支持完全免费。3分钟装好并转出第一份可搜索PDF最短路径三步全部是单行命令。先装工具它调用 Tesseract 做识别、Ghostscript 做图像处理所以两者是前置依赖pip install ocrmypdf⚠️ Debian/Ubuntu 用户更省事sudo apt install ocrmypdf tesseract-ocr ghostscript一条命令把程序和依赖全装好。转换本身一条命令输入扫描件、输出可搜索版ocrmypdf input_scan.pdf output_searchable.pdf验证是否成功——从输出文件里把文字抽出来搜一个你确定在原图里的词pdftotext output_searchable.pdf - | grep 关键词能匹配到文本层就是真的嵌进去了没装 poppler-utils 的话直接在任意 PDF 阅读器里 CtrlF 搜同一个词也行。按场景用中英混排文档加文本层一份文件中文为主、夹杂英文缩写识别引擎只认单一语言时混排内容会认成乱码——所以要把语言组合告诉它ocrmypdf -l chi_simeng --deskew mixed.pdf mixed_ocr.pdf-l chi_simeng用指定多个语言建议先用tesseract --list-langs确认语言包已装--deskew识别前先测出页面倾斜角并校正建议扫描件常开歪斜会直接拉低识别率 Tesseract 支持 100 种语言但语言包要单独装sudo apt install tesseract-ocr-chi-simmacOS 用brew install tesseract-lang。批量OCR一个文件夹的PDF几十个文件挨个敲命令不现实官方文档推荐用 GNU Parallel先apt install parallel并行跑parallel --tag -j 2 ocrmypdf {} output/{} ::: *.pdf-j 2同时最多跑 2 个进程建议单个文件内部--jobs已用满多核外层留 2 个并发即可--tag每行输出前打印文件名建议批量必开报错时能定位到具体文件 递归整个目录树、原地更新以及 Windows 批处理和 Docker 的现成写法见官方批量文档。生成PDF/A存档版要留十年的文件普通 PDF 存在字体丢失、JS 依赖这些定时炸弹归档标准是 PDF/A。默认输出已是 best-effort PDF/A-2b想要压缩更狠的存档版ocrmypdf --output-type pdfa --optimize 3 archive.pdf archive_pdfa.pdf--output-type pdfa强制 PDF/A 输出建议存档场景显式声明比默认 auto 更稳--optimize 3最高档图像优化建议体积优先时开 3日常用默认 1 PDF/A 为什么适合长期存档禁用 JS、字体必须内嵌等细节官方文档有专门一节。它内部怎么干活整条流水线五步先分析每页需要多大分辨率才能不丢信息用 pypdfium2 或 Ghostscript 把页面栅格化成位图Tesseract 在位图上识别文字产出带坐标的中间结果再把文字精确叠回原图正下方——这是复制粘贴时字符位置准的原因最后 Ghostscript 压缩图像、按 PDF/A 打包输入输出都经过校验。页面里已有的文字和矢量内容不会被破坏文字层是以插入而非重画的方式进文件的。速查与FAQ低清扫描件识别率偏低→ 嵌入图 DPI 不够识别引擎拿到的像素糊。加--oversample 600先重采样再识别。页面歪斜或整体转了 90°→ 扫描时没对齐。加--deskew --rotate-pages自动校正。担心已有文本层的页被重复 OCR→ 默认行为就是跳过含文字的页不会重复做。只有要整页强制重扫时才加--force-ocr。处理慢、还嫌体积大→ 默认开着 PDF/A 转换和图像优化。求快就--output-type pdf --optimize 0。黑白文档想再压小→ 加--jbig2-lossyJBIG2 有损压缩对文字图损失很小。只要纯文字副本→ 加--sidecar会同步写出同名 .txt 文件。写进自己程序里也现成ocrmypdf.ocr(in.pdf, out.pdf, languageeng)完整参数签名见 src/ocrmypdf/api.py。同类工具怎么选能力OCRmyPDFAdobe Acrobat在线OCR服务Tesseract 裸跑开源免费✅ MPL-2.0❌ 商业收费⚠️ 限量免费✅输出 PDF/A 存档✅ 默认⚠️ 部分支持❌❌ 需自己拼文字层位置精准、可直接复制✅✅⚠️ 视服务而定❌ 只出纯文本批量/脚本自动化✅ 纯命令行⚠️ 付费功能❌ 逐个上传✅ 要自己写数据不出本机✅✅❌ 上传云端✅批量处理、要 PDF/A、文件敏感不能上云——这三个条件里占两个就选 OCRmyPDF。要交互式编辑界面Acrobat 更顺手只是临时转一个文件又不想装环境在线服务够用要深度定制识别管线再考虑 Tesseract 裸跑。下一步它把扫描 PDF 搜不到字变成一条命令的事免费、本地跑、默认输出可存档格式。挑一份你最常翻的扫描合同按上面的 3 分钟流程跑一遍然后搜一个你确定在里面的词。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考