断网环境安装 OCRmyPDF 完整指南:把扫描件批量转成可搜索 PDF
2026/9/2 13:09:09 网站建设 项目流程

断网环境安装 OCRmyPDF 完整指南:把扫描件批量转成可搜索 PDF

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

机房、船载终端、内网服务器——机器连不上外网,手里却压着一摞扫描件,想检索一个词都要翻半天。OCRmyPDF 离线流程可以解决这件事:在有网的地方备齐四个组件,拷进隔离网络环境装好,之后每台机器都能独立给扫描件生成文本层,输出可搜索、可复制的 PDF。

出发前的一次性清单

在有网机器上备齐这四样,之后每个断网环境都能反复使用,不用再碰外网:

组件最低版本说明
Python3.10+当前发布按 3.11+ 构建,建议直接装 3.11 或更新
Ghostscript9.54+负责 PDF 渲染与输出
Tesseract OCR4.1.1+识别引擎本体
OCRmyPDF 本体最新版 wheel 或源码依赖上列三项协同工作

注意语言训练数据是单独下发的:把需要的.traineddata文件(英文eng、简体中文chi_sim等)一并拷进 U 盘,这是离线环境里最常被漏掉的一件。

Linux / Windows / macOS 断网安装 OCRmyPDF 速查

Linux 断网安装:Debian 系先下载后 dpkg

在联网的同架构机器上把依赖拉成.deb

apt-get download ocrmypdf ghostscript tesseract-ocr python3

拷到断网机器后安装,缺的残留依赖顺手补上:

dpkg -i *.deb && apt-get install -f

Fedora 系把两条命令换成dnf downloadrpm -ivh *.rpm即可。

Windows 断网安装:四个安装包按序落地

Python、Ghostscript、Tesseract 各自有独立安装包,在联网机上存下来,按 Python → Ghostscript → Tesseract 的顺序装到断网机上。OCRmyPDF 本体装离线 wheel:

pip install ocrmypdf-*.whl

macOS 断网安装:联网机备料,U 盘带走

联网机上先让 Homebrew 把依赖缓存下来:

brew install --download-only ocrmypdf ghostscript tesseract

把缓存的 bottle 文件和 OCRmyPDF 的 wheel 一起拷进 U 盘,再在断网机上安装。注意 macOS 上 Homebrew 严格来说只能离线装一部分,最稳妥的做法还是整机换机或走内网源。

落地自检:3 分钟确认断网机器能跑

  • ocrmypdf --version,它能同时核对 Python、Ghostscript、Tesseract 三个外部依赖的版本是否达标,报错就先修哪条。
  • 确认语言包文件真的落盘:Linux 的 tessdata 目录是/usr/share/tesseract-ocr/4.00/tessdata/,Windows 是C:\Program Files\Tesseract-OCR\tessdata\,目录里能看到eng.traineddata才算齐。
  • 最小运行命令,拿一张扫描件试跑:ocrmypdf tests/resources/typewriter.pdf tests/resources/out.pdf,产物里能选中文本,整条链路就算通了。

参数速查:离线 OCR 最常用的六个选项

选项作用什么时候用
--language指定识别语言,如eng chi_sim混排文档必配,缺了识别结果全是乱码
--skip-text跳过已有文本的页面文档只有一部分是扫描件时,省时间
--clean对扫描图像做预处理扫描件噪点多、底色发灰,识别率上不去时
--output-type指定输出类型需要长期存档就用pdfa
--optimize优化等级 0–3输出体积要压下来时调高,代价是耗时
--pages只处理指定页码文件大或只想补识别某几页

批量与自动化:一个循环搞定一整目录

for f in *.pdf; do ocrmypdf "$f" "ocr_$f"; done

需要固定一套参数时,写个配置文件再用--config指过去,不必每次敲全命令行;文件会持续丢进某个目录的话,仓库里的 misc/watcher.py 可以监听目录、新文件进来自动触发识别。

卡住了怎么办

错误原因处理动作
启动即报依赖缺失或版本不达标Ghostscript / Tesseract 没装好或版本太低ocrmypdf --version的提示重装对应组件
Tesseract couldn't find a language data file语言包没拷进 tessdata 目录.traineddata放进上文 Linux / Windows 两个路径之一,再重跑
处理大文件时内存不足、进程被杀整份 PDF 一次性渲染撑爆内存--pages分批处理,或给机器加交换空间

更多参数细节和排错思路,见仓库里的 docs/introduction.md 与 docs/errors.md。

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

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

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

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

立即咨询