OCRmyPDF 完整指南:一步给扫描 PDF 加上可搜索的文本层
2026/9/2 9:58:02 网站建设 项目流程

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 就是一个免费的命令行工具,给这类扫描件加一层 OCR 文本——处理完页面外观不变,但你已经可以在阅读器里直接搜索和复制文字了。

它的工作方式很直接:把每一页当图片送进 Tesseract 引擎识别,再把识别出的文字按原位置贴回页面下方,形成一层不可见的文本。默认输出是经过校验的 PDF/A 格式,适合长期存档;它还会顺手压缩页面里的图片,输出文件常常比输入更小。引擎支持 Tesseract 提供的 100 多种语言,默认自动用满你机器的所有 CPU 核心。下面这张图就是一份典型的扫描件素材——OCRmyPDF 的测试库里就靠这种打字机手稿来验证识别效果:

要记的安装命令

按系统挑一条执行就行,官方在 docs/installation.md 里对每个发行版都写得更细:

# Debian / Ubuntu / WSL sudo apt install ocrmypdf # macOS brew install ocrmypdf # 其他情况,或想要最新版 pip install ocrmypdf

装完跑一下ocrmypdf --version确认。两个依赖要留意:Tesseract 引擎和 Ghostscript 必须随包装好(系统包管理器装的版本已包含);而语言包是单独装的,英文默认就有,识别中文要先装对应的tesseract-ocr-chi-sim

30 秒做出第一份可搜索 PDF

第一条命令只需要两个参数——输入和输出:

ocrmypdf --deskew --rotate-pages input_scan.pdf output_searchable.pdf

--deskew把歪掉的页面摆正,--rotate-pages自动纠正 90 度错向的页面,这两个参数对扫描件基本是白捡的改进,建议以后都带着。命令跑完后,用任意 PDF 阅读器打开输出文件,按关键词搜索试试——这就是那层隐形文本在工作。

💡 默认情况下,如果某页已经有文本(比如数字原生 PDF 或处理过一次的扫描件),OCRmyPDF 会直接报错退出,避免重复处理。这是保护机制,不是故障。

调出效果的 3 个参数

多语言混排-l,多个语言用加号连接:

ocrmypdf -l eng+chi_sim 双语文档.pdf 输出.pdf

已有文本的页面怎么处理,用--mode一个参数说清,这是官方文档 docs/advanced.md 里推荐的方式:

模式行为
default页面已有文本就报错退出,防止重复处理
skip已有文本的页原样保留,只处理纯扫描页
force所有页重新栅格化并 OCR,等于推倒重来
redo剥掉旧的隐形文本层再重新识别

批量处理不需要写脚本,一行 find 搞定整个文件夹:

find ./scanned -name "*.pdf" -exec ocrmypdf {} {}.ocr.pdf \;

几百页的大文件不用担心,它默认多线程跑,几千页的文档也能正常处理。

出问题先查这 3 处

识别不准、字太小?--oversample 600强制把页面按 600dpi 送进识别引擎,低分辨率扫描件的提升会很明显:

ocrmypdf --oversample 600 低清扫描.pdf 修复后.pdf

页面脏、有噪点?加上--clean,它背后是 unpaper 在帮你去噪、修边。如果扫描歪得很厉害,先--deskew再识别的顺序不用你管,命令里两个参数同时给即可。

输出文件偏大?加上--optimize 2(1 到 3 是力度档位),它会压缩页面图像,很多场景下输出反而比输入小。

🧰 报错里出现语言相关提示时,九成是语言包没装齐:先apt-cache search tesseract-ocr找到对应语言的包装上,再重跑。

从最简单的两步开始:装好工具,对你手头任意一份扫描件跑一次ocrmypdf 输入.pdf 输出.pdf,然后立刻在阅读器里搜一个词验证效果。剩下的参数,等你的扫描件暴露出什么问题再按上面的对照表挑着用。一份以前只能翻页看的文档,从此变成可以搜索、可以复制、还能长期归档的资产——这就是这一条命令换来的东西。

【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询