news 2026/9/2 10:53:21

Umi-OCR 双层PDF转换:离线免费,从首次上手到批量自动化的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Umi-OCR 双层PDF转换:离线免费,从首次上手到批量自动化的完整指南

Umi-OCR 双层PDF转换:离线免费,从首次上手到批量自动化的完整指南

【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR

从扫描版PDF里复制一句话,你会发现选中工具连一个字符都框不住——这份"只可远观"的文档,正是很多档案、合同和教材电子化后的尴尬处境。Umi-OCR 是一款免费、离线运行的OCR工具,能把扫描PDF批量转成可搜索、可复制的双层PDF,全程无需联网,也不向任何云端发送文件。

双层PDF如何"被电脑读懂":离线可搜索文档的原理

扫描PDF对计算机来说就是一摞照片:每个"字"只是若干像素的堆砌,所以搜索框里永远查无此词,复制按钮也形同虚设。双层PDF的做法是在原图之上附加一条隐形的"字幕轨"——画面你看到的一像素都不变,但每一页都挂着一份机器能读的文字轨。Ctrl+F 查的是字幕轨,复制粘贴取的也是字幕轨,而打印出来的依旧是原始扫描画面。

处理方式全文搜索复制文字原始版式是否依赖网络
纯扫描PDF无法无法原样保留
识别后只存文本可以可以基本丢失多数工具需要
Umi-OCR 双层PDF可以可以原样保留否,引擎装在本地

📌 识别引擎是以本地插件形式随软件分发的(PaddleOCR、RapidOCR 两种可选),断网环境下同样工作——这对不能出内网的资料尤其重要。

4步快速上手:从扫描件到可搜索PDF的最短路径

  1. 解压启动。拿到Umi-OCR_Rapid_v2.1.5.7z后解压,双击Umi-OCR.exe即可运行,没有安装向导。
  2. 放入文件。打开"文档识别"标签页,把PDF直接拖进左侧文件列表;pdf、xps、epub、mobi、fb2、cbz都支持,几十个文件一次拖入也没问题。
  3. 配置并开跑。右侧把保存格式选为"双层可搜索PDF",识别语言切到文档对应的语言,点击"开始任务"。
  4. 验收。打开输出目录里生成的文件,按 Ctrl+F 搜一个你确定存在的词——能命中,说明文字轨已经生效。

💡 只想要纯文字、不在乎版式的场景,保存格式可改选"单层纯文本PDF",文件会小得多。

按场景调参:语言、版式与体积的关键配置

处理中英混排的论文与教材语言库是最先要动的开关:默认配置未必覆盖文档主体语言,切到对应的多国语言库(繁中、日、韩、俄等均已内置)后准确率差距很明显。

处理双栏排版的报纸、期刊保持排版解析为"多栏-按自然段换行",软件会先分栏、再按阅读顺序拼接段落,导出的文本基本不需要二次整理。而扫描版代码、日志文档请改选"单栏-保留缩进",行首空格与层级缩进会被完整保留。

处理大文件与超长文档用"OCR页数起始/结束"跳过封面、目录等无用页面,只对目标区间跑识别;若扫描件分辨率极高,适当调低"限制图像边长"可明显提速。带页眉、页码的文档,再用"忽略区域"框出页眉页脚并指定生效页码范围,正文会干净一个档次。

进阶:用HTTP接口把整个文件夹批量转完

手动拖文件只适合个位数,批量就该交给接口。先确认全局设置中已允许HTTP服务(默认开启,本机端口1224),然后上传、轮询状态、取下载链接、清理任务,四步走完:

import requests, time B = "http://127.0.0.1:1224" with open("scan.pdf", "rb") as f: tid = requests.post(f"{B}/api/doc/upload", files={"file": f}, data={"json": '{"tbpu.parser": "multi_para"}'}).json()["data"] while not requests.post(f"{B}/api/doc/result", json={"id": tid}).json()["is_done"]: time.sleep(1) url = requests.post(f"{B}/api/doc/download", json={"id": tid, "file_types": ["pdfLayered"]}).json()["data"] open("searchable.pdf", "wb").write(requests.get(f"{B}{url}").content) requests.get(f"{B}/api/doc/clear/{tid}")

把这段套进文件循环,一个文件夹的扫描件几小时内就能全部完成。上传时json字段还能带上忽略区域、页数范围等参数,效果与图形界面一致。结果除pdfLayered外还能导出txtcsvjsonl,方便喂给下游流程;不手动清理的任务会在 24 小时后自动释放。完整的请求/响应定义见 HTTP接口详细说明。

转换前的避坑清单:最容易让任务失败的三个配置

⚠️ 这三个坑都在任务开始前就能排掉,比事后查日志省事得多:

  1. 加密PDF不填密码,任务会一直"等"下去。带文档密码的PDF必须在参数里填入密码再启动任务,否则状态会停留在等待或直接失败——上传前确认一下文件是否加密。
  2. 旧版本处理含旋转页面的文档会错位。页面旋转相关的坐标与提取问题分别在 v2.1.2、v2.1.5 修复过(详见 更新日志),使用 v2.1.5 或更新版本可一并避开这两类坑。
  3. 低配机器上高并发调接口。后端对并发支持较弱,并行请求容易得到连接被拒的报错,且长时间连续大批量调用偶发失败,顺序执行、失败重试是更稳的姿势。内存方面引擎默认控制在系统总内存一半以内,低配机器可在全局设置里调低线程数与内存上限,宁慢勿崩。

v2.1.5 起异常日志会写入UmiOCR-data/logs目录,真出了问题按页码定位,比盲猜快得多。

现在就转一份,把剩下的交给自动化

整条工作流其实就一句话:拖入文件 → 选双层PDF → 等任务完成 → 取回可搜索文档,离线、免费、版式不变。现在就去解压,挑一份最头疼的扫描件按上面 4 步走一遍,十几分钟后第一份可搜索文档就会出现在输出目录里。

转完之后值得顺手探索的还有两个"隐藏"入口:截图OCR(快捷键截屏即识别,适合网页里的零散文本),以及二维码标签页(19种码制的识别与生成)。想更进一步把 Umi-OCR 嵌进自己的脚本里,参考 命令行调用手册 即可。

【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 10:52:32

基于SpringBoot同城上门喂遛宠物预约系统(毕业设计项目源码+文档)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/9/2 10:52:20

3D国漫夸张表情包制作全流程:从Blender建模到微信表情上架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 10:52:00

10 分钟装好 Continue:JetBrains AI 代码补全插件使用指南

10 分钟装好 Continue:JetBrains AI 代码补全插件使用指南 【免费下载链接】continue open-source coding agent 项目地址: https://gitcode.com/GitHub_Trending/co/continue Continue 是开源的 AI 编程助手插件,为 JetBrains IDE 提供 AI 代码补…

作者头像 李华
网站建设 2026/9/2 10:47:55

青猿AI整合包测评:Photoshop本地离线AI插件部署与功能实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 10:46:42

扩散式语言模型构建指南:原理、训练与部署实战

扩散式语言模型这条技术路线,这几年一直是 NLP 非自回归生成方向里比较有代表性的分支。它和 GPT 这类从左到右逐个 token 生成的自回归模型完全不同:给定一段带噪声的 token 序列,模型通过多步去噪,把整句话逐步还原出来。也就是…

作者头像 李华
网站建设 2026/9/2 10:45:51

STM32 CubeMX配置LIN总线实战指南

简介:本资源是一个基于STM32CubeMX配置的LIN总线通信测试工程模板,面向嵌入式初学者、汽车电子开发者及STM32进阶学习者,旨在解决LIN协议在STM32平台上的快速入门与软硬件协同验证难题。压缩包共603个文件,涵盖336个C源码&#xf…

作者头像 李华