首页 / 资讯中心 / 文章详情

OCRmyPDF 离线安装:断网机器上给扫描 PDF 加文本层

OCRmyPDF 离线安装:断网机器上给扫描 PDF 加文本层 ★ FEATURED ARTICLE
OCRmyPDF 离线安装断网机器上给扫描 PDF 加文本层【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF内网隔离机上堆着扫描件CtrlF 失灵机器连不上外网。OCRmyPDF 给扫描 PDF 补可搜索文本层全程本地跑。离线装通四步走查缺、补齐、放语言包、跑通再批量。先给机器做体检离线部署缺哪几样离线部署最容易翻车的地方是把一堆可选件全装上、却漏了真正不能少的那一个。OCRmyPDF 本体只是一个 Python 包真正干活的是它调用的一圈外部程序断网环境下每样都得以文件形式实际躺在机器里装不装得起来全看这一圈。外部程序性质缺了它什么不能用Tesseract必须OCR 识别主流程全断pypdfium2 或 Ghostscript必须二选一把 PDF 页面栅格化成图像fpdf2、uharfbuzz必须随 wheel 自动装绘制文本层unpaper可选--clean去噪预处理pngquant、jbig2enc可选--optimize压缩、黑白图压缩版本下限对照 安装文档Python 3.11推荐 3.12、Tesseract 4.1.1、Ghostscript 9.54。体检很简单各跑一遍python3 --version、tesseract --version、gs --version装了 Ghostscript 才有哪个报错就先补哪个。按依赖顺序把缺口补齐安装顺序是固定的先 Tesseract再 OCRmyPDF 本体语言包最后单独处理——因为后两步的验证都要用到前一步的产物。Linux 上系统包会顺手把依赖带齐一条命令装两样# Debian / Ubuntu apt install tesseract-ocr ocrmypdf # Fedoratesseract-osd 供页面自动旋转用别漏 dnf install tesseract tesseract-osd ocrmypdfmacOS 一条brew install ocrmypdf就把 Tesseract、Ghostscript、jbig2enc 全带上了Windows 用 winget 装 64 位 TesseractGhostscript 目前得手动装最后用uv tool install ocrmypdf收尾官方不支持 32 位系统。离线机的最后一公里是 Python 依赖。有网机器上先执行pip download ocrmypdf -d ./wheels把整个wheels目录拷过去再装pip install --no-index --find-links./wheels ocrmypdf # --no-index 保证完全不碰 PyPI只认本地目录语言包放对位置离线识别中文才成立语言包是整条链路里唯一需要手工摆放的文件漏掉它前面装得再全也只会认英语。⚠️ 先认准语言代码简体中文是chi_sim不是zh。Debian/Ubuntu 装tesseract-ocr-chi-simFedora 装tesseract-langpack-chi_simmacOS 可以一步装全量包brew install tesseract-langWindows 没有现成包从 tessdata 源下载chi_sim.traineddata放进tessdata目录完整路径规则见 语言包文档。两个经典坑手搓出来的tessdata目录若缺configs/子目录Tesseract 会报cannot open its config file hocr从完整安装里把configs/抄过去即可成因见 错误说明tessdata不在默认位置时用TESSDATA_PREFIX环境变量指过去。中英混排文档用ocrmypdf -l chi_simeng同时声明两种语言比单语言跑得更稳。跑通第一份扫描件确认文本层真在装完先别批量两条命令确认环境完整ocrmypdf --version tesseract --list-langs # 列表里必须有 chi_sim✅ 都正常之后拿一份真实扫描件走完整链路ocrmypdf -l chi_sim --output-type pdfa 扫描件.pdf 扫描件_ocr.pdf参数不多-l是--language的简写--output-type pdfa输出 PDF/A 存档格式适合长期保存不需要就去掉。处理过程长这样——并行扫描、OCR、后处理、压缩全程不出本机跑完用阅读器打开输出文件画面还是那张扫描件但文字可以框选、搜索说明文本层已压在图像底下。把几行字复制出来贴进文本编辑器核对一下识别质量是否达标一眼便知。输入若是图文混排、部分页已有文本加--mode skip跳过已有文本的页只处理纯扫描页。从一份到一批断网环境批量 OCR 扫描件单文件跑通之后批量只有三个台阶。台阶一循环。当前目录每个 PDF 出一份带ocr_前缀的副本for f in *.pdf; do ocrmypdf -l chi_sim $f ocr_$f; done台阶二现成脚本。仓库里的 misc/batch.py 把 ocrmypdf 当 Python 库用递归找目录里的 PDF、逐个处理、结果写日志拷一份改成自己的目录就能跑核心就这几行for filename in start_dir.glob(**/*.pdf): ocrmypdf.ocr(filename, filename, deskewTrue)台阶三目录监听。misc/watcher.py 盯着一个目录新放进来的 PDF 自动走一遍 OCR适合扫描件持续产出的工位它多依赖几个 Python 包有网时装一次pip install ocrmypdf[watcher]即可之后离线照常运行。两个逃生参数大文件内存吃紧时用--pages 1-20分段跑某份文件报page already has text说明它本身已可搜索跳过即可或加--mode redo重做识别。现在就可以把那堆扫描件丢进监听目录让离线机自己跑起来。各平台差异与更多参数见 安装文档、语言包文档。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站