尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

5步把扫描版PDF变成可搜索的双层PDF:Umi-OCR实战笔记

5步把扫描版PDF变成可搜索的双层PDF:Umi-OCR实战笔记 5步把扫描版PDF变成可搜索的双层PDFUmi-OCR实战笔记【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR上个月帮朋友整理一批档案扫描件几百页PDF字全烙在像素里CtrlF 搜不到、想复制只能照着屏幕手打一页页核对把人磨到崩溃。后来换了开源的离线OCR软件 Umi-OCR用它的文档识别功能把整个文件夹批量转成了可搜索的双层PDF半天收工。这篇笔记按先定验收标准、再倒推操作路径的思路写你照做就能跑通第一份。先看终点双击生成的PDFCtrlF 能搜到字很多人把识别文字和可搜索PDF混为一谈。其实验收标准只有一条双击打开转换后的PDFCtrlF 搜一个文档里的词能搜到、能复制且页面观感与原件一致。双层PDF的物理结构很好理解底层原样保留扫描图像保证画质与打印效果不变上层叠一层透明文字让搜索、复制、摘录全部生效。你看到的还是原图但电脑已经认识它了。处理方式能否搜索能否复制排版保真是否联网纯扫描PDF否否完整不需要OCR导出纯文本能能丢失严重多数需要Umi-OCR双层PDF能能完整全程离线全程离线对档案这类敏感场景是刚需——文件绝不上传云端。Umi-OCR 把识别引擎做成本地插件PaddleOCR 与 RapidOCR 两种可选断网照跑这是它区别于一堆在线转换工具的核心卖点。目标反推从能搜索倒推回来一共5步终点有了现在倒着拆要让文字层出现在正确位置 → 必须先逐页OCR → 要OCR得准 → 得选对语言 → 要文本干净 → 得排掉页眉页脚 → 最后才开始任务。整条链路拆出来正好五步每一步都很短。第1步 ⚡ 解压即用跳过安装从发布页下载 Umi-OCR_Rapid_v2.1.5.7z 压缩包解压后双击 Umi-OCR.exe 即可启动。没有安装向导、没有环境配置绿色运行拿到别人电脑上即用即走。第2步 打开文档识别页把文件拖进去主界面是标签页结构切到文档识别。把要转的PDF直接拖进左侧文件列表支持一次拖入几十个文件除了PDF还兼容 xps、epub、mobi、cbz 等格式顺手覆盖了其他电子书的阅读需求。第3步 三个设置决定输出长什么样右侧设置面板做三件事保存格式选双层PDF。只想要文字、不在乎版式的话也可以选单层纯文本PDF。识别语言切到文档语言中文资料选简体中文外文资料选对应语种。中英混排的文档务必选含英文的配置识别准确率会有肉眼可见的提升。段落合并模式保持多栏-按自然段换行它能自动识别分栏布局、还原正确的阅读顺序导出的文字基本不用二次整理。第4步 ✂️ 顺手框掉页眉页脚很多扫描件每页顶部有页眉、底部有页码这些杂讯会混进正文。点击忽略区域用鼠标框出页眉页脚的位置还能指定生效的页码范围。这个小动作能让最终文本的整洁度上一个台阶强烈建议做。第5步 ✅ 开始任务用验收标准收尾点开始任务右侧逐页显示处理进度单页通常一两秒完成。结束后到输出目录打开PDF先 CtrlF 搜一个文档里的词验证可搜索再随机抽几页目测图像清晰度两项通过即大功告成。四个旋钮让文字层更像人读的跑通之后这几个设置值得你花时间拧一拧。旋钮一排版解析方案。遇到双栏排版的论文或报纸默认方案一般能自动分栏碰上特殊版面就换单栏-总是换行或单栏-保留缩进——后者尤其适合扫描版的代码文档。这个开关直接决定导出文本是能读还是好读。旋钮二图像压缩。对文件体积敏感的场景把压缩质量调到80%左右通常是画质与体积的平衡点不敏感就保持默认画质还原最好。旋钮三OCR页数范围。只想处理中间某几页填页数起始/结束直接跳过无用页面配合忽略区域的页码范围还能对超长文档做精细的分段处理。旋钮四整页强制OCR。遇到旋转页或排版异常导致坐标错位时强制整页识别往往能绕开问题具体见后面的坑一。文件多到按批算把流程交给HTTP接口当文件从几十个变成几个文件夹就该上自动化了。Umi-OCR 提供完整的HTTP接口思路只有四步上传文件 → 轮询任务状态 → 生成目标文件并获取下载链接 → 清理任务。接口细节见 HTTP 接口文档下面是一段可直接改用的最小示例import requests, time BASE http://127.0.0.1:1224 # 1. 上传PDF可附带语言、忽略区域等参数 with open(scan.pdf, rb) as f: r requests.post(f{BASE}/api/doc/upload, files{file: f}) task_id r.json()[data][id] # 2. 轮询状态等待识别完成 while True: r requests.post(f{BASE}/api/doc/result, json{id: task_id}) if r.json()[is_done]: break time.sleep(1) # 3. 指定输出为双层可搜索PDF并下载 r requests.post(f{BASE}/api/doc/download, json{id: task_id, file_types: [pdfLayered]}) requests.get(f{BASE}{r.json()[data]}) # 4. 清理任务 requests.get(f{BASE}/api/doc/clear/{task_id})把这段逻辑套进批处理循环整个文件夹的扫描件批量转双层PDF就是几分钟的事。输出格式除PDF外还支持 txt、csv、jsonl方便对接下游系统。想基于源码做二次开发可以 clone 仓库研究内部实现git clone https://gitcode.com/GitHub_Trending/um/Umi-OCR。四个翻车现场附排查思路坑一转换后文字与图像位置错位。老版本在解析带旋转的页面时确实出过坐标问题v2.1.2 集中修复过一批相关Bug。版本偏旧就先升级到 v2.1.5 再重试若问题依旧检查文档是否含旋转页面或改用整页强制OCR模式。坑二加密或损坏的PDF让任务卡死。加密PDF需要在参数中填写文档密码损坏文件则可能让任务一直停在等待状态。遇到异常先看软件日志——v2.1.5 起日志会保存到UmiOCR-data/logs目录能帮你定位到具体是哪一页出了问题。坑三大批量任务吃满内存。一次塞进几百页大文件时识别引擎默认把内存占用控制在系统总内存一半以内一般够用但低配机器建议在全局设置里调低引擎线程数和内存上限宁慢勿崩。坑四以为双层PDF等于可编辑文档。双层PDF的文字层是不可见文本能搜索、能复制但双击并不会有光标让你修改文字。如果你要的是带样式的可编辑文件那是另一个需求方向——动手前先确认目标格式能省下大量返工时间。下一步可以玩什么到这里扫描件数字化工作流已经闭环单文件转换、参数调优、接口批量全部离线完成。接下来三条线可以继续探索命令行调用截图、识图、识别二维码都能通过命令行触发见 命令行手册适合写进定时脚本。截图OCR与批量OCR日常处理网页截图、聊天记录图片打开截图OCR标签页按快捷键即可。二维码工具箱内置扫码与生成功能支持19种码制处理票据、链接分发都是意外之喜。技术更迭很快但保留图像、叠加文字的双层PDF思路依然是档案数字化的主流解法。先跑通第一份再慢慢调优——你大概率会跟我一样感慨为什么不早点用上。【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表