Umi-OCR:离线 OCR 三步上手,截图取字到批量识别全搞定
【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR
Umi-OCR 是一款免费、开源的离线 OCR 软件,截图取字、整文件夹批量识别、扫描版 PDF 转双层可搜索 PDF,全程不联网、不装环境,解压即用。截图页支持"排版解析"整理阅读顺序,批量页有"忽略区域"排除水印,文档识别页把扫描件变成能搜能选的文件。命令行和本地 HTTP 接口还留给脚本与定时任务调用。
先确认环境
| 项目 | 要求 |
|---|---|
| 平台 | Windows 7 x64、Linux x64 |
| 获取方式 | 发布包.7z压缩包或.7z.exe自解压包;也可git clone https://gitcode.com/GitHub_Trending/um/Umi-OCR获取源码 |
| 运行要求 | 无需安装、无需联网;界面语言自动跟随系统 |
| 内置引擎 | RapidOCR-json、PaddleOCR-json,多语言模型库随包内置 |
运行起来
- 解压发布包,Windows 双击
Umi-OCR.exe,Linux 执行umi-ocr.sh。 - 预期现象:主窗口弹出,标签栏出现"截图 OCR""批量 OCR""文档识别""二维码""全局设置"。
- 界面语言不对就去"全局设置"切换,无需重启。
从屏幕截出一段文字
操作
- 打开"截图 OCR"标签页。
- 按页面设置的快捷键唤起截图,框住文字区域后松开鼠标;
Esc随时取消。 - 识别完成后,点击右侧记录栏里那条带时间戳的结果即可复制;左侧预览栏里的文字也能直接划选。在别处复制好图片,也可以直接粘贴到这一页识别。
验收
- ✅ 记录栏多出一条新记录,粘贴到记事本,文字与图中一致。
- 预览栏文字可划选,说明文本层已经生成。
避坑
- ⚠️ 代码截图的缩进被压平 → 排版解析默认是"多栏-按自然段换行",面向普通文档 → 把排版解析改成"单栏-保留缩进",行首缩进和行内空格就能保留。
- 竖排文字识别顺序怪 → 各排版方案都能自动处理横排和竖排,但竖排还需要 OCR 引擎本身支持。
一个文件夹几百张图,一次出结果
操作
- 打开"批量 OCR"标签页,选择图片,或直接拖入整个文件夹;一次几百张没问题,数量没有上限。
- 输入格式支持
jpg / jpe / jpeg / jfif / png / webp / bmp / tif / tiff,输出勾选txt / jsonl / md / csv(Excel)。 - 图片里带固定水印或 LOGO 时,进右栏设置的忽略区域编辑器,按住右键画矩形把水印包进去,框画大一点。
- 长图、小字多的图,到"设置 → 文字识别"把"限制图像边长"调高。
- 点击开始,左侧列表逐张滚出耗时和置信度;跑完每个文件对应一份输出。
验收
- ✅ 任务结束后,每张输入图都有对应输出文件。
- 抽 3 张对比预览和结果;置信度(0~1)偏低的几张人工核对一遍。
避坑
- ⚠️ 大图里小字认错 → 默认边长 960 会先把大图压缩 → 调到 2880 或 4320。
- ⚠️ 水印文字混进结果 → 只有整块落在框内的文本会被丢弃,横跨框边的字块仍保留 → 忽略区域画大、画全。
- 半夜跑大批任务 → 可开启任务完成后自动关机/待机,跑完自己收工。
扫描版 PDF 怎么出可搜索版本
操作
- 打开"文档识别"标签页,拖入文档,支持
pdf / xps / epub / mobi / fb2 / cbz。 - 有页眉页脚的,设一个忽略区域把固定位置框掉。
- 开始任务。产物是双层可搜索 PDF:原图在下,识别文字在上;只要原文字,可改存单层纯文本 PDF。
验收
- ✅ 打开产物按
Ctrl+F,搜一个只出现在正文里的词,能直接跳到对应页,说明文字层写对了。 - 能选中、复制出文字,版面排版没变。
避坑
- ⚠️ 输出 PDF 搜不到字 → 保存类型选的不是双层可搜索 PDF → 在保存设置里勾选对应类型再跑。
- 扫描件页眉页脚混进文本 → 忽略区域没画到该位置 → 按版面对齐框住页眉页脚区域。
把识别能力挂进脚本和定时任务
操作
- 进"全局设置"确认 HTTP 服务已允许(默认开启),主机保持"仅本地",默认端口
1224。命令行和 HTTP 接口都依赖这个服务。 - 命令行直接用,入口就是主程序,
umi-ocr是Umi-OCR.exe的简写:
umi-ocr --screenshot --clip umi-ocr --path "D:/docs" --output "结果.txt"--path可以传文件夹,会递归识别里面所有图片,也支持多路径。- HTTP 两步走:先
GET http://127.0.0.1:1224/api/ocr/get_options拿全部参数定义,再POST http://127.0.0.1:1224/api/ocr提交识别,请求体base64放图片编码、options放语言、排版解析等选项。PDF 有对应的上传、查询、下载接口。
验收
- ✅
umi-ocr --help能打印完整指令说明。 - ✅ 浏览器访问
get_options地址返回 JSON 参数表;POST 一次,返回code为100且data里有识别文本。
避坑
- ⚠️ 命令行没有任何反应 → 九成是 HTTP 服务没开 → 全局设置里允许 HTTP 服务。
- 系统管道
>、|可能失效 → 运行环境限制 → 改用--output,或走"HTTP 转发命令行"接口。 - 长任务偶发
ECONNREFUSED报错 → 后端并发能力有限 → 不要并发调用,重发请求即可。
参数只动这几个
| 参数 | 默认值 | 什么时候改 | 建议值 |
|---|---|---|---|
| 语言/模型库 | models/config_chinese.txt(简体中文) | 纯英文、纯代码文档 | models/config_en.txt等,见 get_options 返回值 |
| 排版解析方案 | multi_para(多栏-按自然段换行) | 代码截图要保留缩进;想整段不换行 | single_code(单栏-保留缩进)/multi_none |
| 限制图像边长 | 960 | 长图、小字多的大图 | 2880、4320或999999(无限制) |
| HTTP 端口 | 1224 | 和本机其他服务冲突 | 全局设置里改成空闲端口 |
界面上的改动都会存进UmiOCR-data/.settings(ini 格式)。也可以直接手改这个文件,然后执行umi-ocr --reload重新加载(v2.1.5 及以上支持)。
出问题先查这里
| 现象 | 多半原因 | 处理办法 |
|---|---|---|
| 命令行截屏无反应 | HTTP 服务没开 | 全局设置里允许 HTTP 服务,主机选"仅本地" |
| 识别顺序错乱、读不通 | 排版解析方案不匹配这张图 | 换方案;代码截图选"单栏-保留缩进" |
| 大图里小字认错 | 默认边长 960 先压缩了图片 | "限制图像边长"调到 2880 以上 |
| 水印、LOGO 文字混进结果 | 文本块落在忽略区域之外 | 重画忽略区域,框大框全 |
HTTP 偶发ECONNREFUSED | 后端并发能力有限 | 不要并发调用,重试请求 |
完整指令见 命令行手册,接口细节见 HTTP 接口手册,Python 源码在UmiOCR-data/py_src/,想抠参数可以直接翻。顺手一提:截图、批量、文档页之外,二维码标签页还能扫码和生成二维码。
【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考