完全指南:离线模型、在线服务与双向校对工作流)
eSearch 文字识别OCR完全指南离线模型、在线服务与双向校对工作流【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch导读本文是 eSearch 文字识别OCR功能的使用与原理指南覆盖离线 OCR、在线 OCR百度/有道/大模型、识别结果的换行与段落处理、基于原图的双向校对以及多语言模型下载与自定义模型接入。读完本文你将掌握 eSearch 中 OCR 的全部配置项、模型文件的组织方式以及如何搭建一条截图 → 识别 → 校对 → 导出的完整工作流。eSearch 的 OCR 能力是截屏、离线 OCR、搜索翻译、以图搜图等核心功能的公共底座其实现分散在 src/renderer/ocr/ocr.ts、src/renderer/ocr/ocr_omni.ts 与 src/renderer/ocr/ocr_online.ts 中本文所有结论均可在这些源码与使用文档中得到验证。一、OCR 能力总览离线与在线两条路线eSearch 提供了开箱即用的离线 OCR同时支持接入在线 OCR服务两条路线各有取舍路线是否免费是否依赖网络体积特点离线 OCR完全免费不依赖网络较大本地运行隐私友好默认启用在线 OCR百度/有道部分可免费体验依赖网络不占本地体积速度快、准确率高eSearch默认启用离线 OCR安装后即可直接使用无需任何配置。需要注意的是部分使用 OCR 的功能可能只能使用离线 OCR例如需要本地即时响应或不允许图片外发的场景因此离线模型仍是整个软件的基础。二、离线 OCR默认模型与引擎初始化离线 OCR 完全在本地运行引擎初始化逻辑集中在 src/renderer/ocr/ocr.ts 的loadOCR函数中。它从设置的离线OCR列表中按 ID 取模型并拼装默认模型路径检测模型ppocr6_small_det.onnx识别模型ppocr6_small_rec.onnx字典文件dic.txt文档方向分类模型doc_cls.onnx仅在需要整体方向识别时加载默认模型defaultOcrId 0支持中英混合scripts: [zh-HANS, en]并在列表中标注为低精度、快速档位。加载时程序会依次尝试模型自定义路径、全局检测路径和默认路径模型文件缺失时会输出OCR路径错误并拒绝初始化因此首次使用前请确保模型资源完整。引擎基于esearch-ocr库与onnxruntime-node运行识别结果为列columns→ 段落paragraphs→ 文本的层级结构由 src/renderer/ocr/ocr_omni.ts 中的ocrOmniLoad负责统一封装。三、在线 OCR百度、有道与大模型设置OCR类型下拉框中会聚合所有可用引擎离线模型列表、支持视觉的在线 AI 模型以ai-前缀标识、百度与有道见 src/renderer/ocr/ocr_omni.ts 的ocrList函数。1. 百度 OCR按百度云官方文档创建应用获取API Key与Secret Key填入 设置 → OCR 的对应输入框即可对应配置项在线OCR.baidu.id与在线OCR.baidu.secret见 src/renderer/setting/setting.ts。百度 OCR 支持在设置中选择接口类型在线OCR.baidu.url不同接口对应的免费额度与能力不同接口值名称https://aip.baidubce.com/rest/2.0/ocr/v1/general标准含位置版https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic标准版https://aip.baidubce.com/rest/2.0/ocr/v1/accurate高精度含位置版https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic高精度版https://aip.baidubce.com/rest/2.0/ocr/v1/formula公式https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting手写文字https://aip.baidubce.com/rest/2.0/ocr/v1/table表格从 src/renderer/ocr/ocr_online.ts 的实现可以看到eSearch 会先用 API Key/Secret Key 换取access_token并缓存含过期时间随后携带paragraphtrue段落识别与cell_contentstrue表格内容参数调用识别接口返回结果会优先解析tables_result为制表符分隔的表格文本其次按paragraphs_result重组段落并利用location字段还原每个文字块的坐标框供编辑器做选区同步。若返回unknown client id或Client authentication failed界面会分别提示 API Key 或 Secret Key 错误。2. 有道 OCR参考有道 AI 官方文档在创建应用时服务选择光学字符识别服务 - 通用文字识别接入方式选择API将获取到的应用 ID与应用密钥填入设置在线OCR.youdao.id、在线OCR.youdao.secret。有道接口使用 v3 签名eSearch 用appKey 截取后的图片数据 salt curtime 密钥做 SHA-256 哈希生成sign并以langTypeauto、detectType10012、imageType1参数请求https://openapi.youdao.com/ocrapi返回的regions[].lines[].boundingBox会被解析为四边形坐标框按区域聚合为文本行。3. 大模型 OCR添加一个**支持视觉vision**的在线 AI 模型即可把大模型当作 OCR 引擎使用模型配置方法见在线 AI 模型文档支持 ollama 等任何兼容 OpenAI API 的本地/云端服务。大模型 OCR 通过runAI发送识别图片文本的提示词见 src/renderer/ocr/ocr_online.ts 的llmOCR且要求模型必须开启supportVision否则会提示模型不支持视觉由于大模型不返回坐标框这类结果的选区同步能力会受限。四、识别结果的格式与换行处理1. 换行问题的成因部分 OCR 引擎并不理解段落而是把视觉上的一行当作一个段落。例如下面的文字在显示软件中因自动换行显示为多行OCR 却将其视为 5 个段落比如这是一个段落。但 由于显示软件的自动换 行视觉上显示为多行 OCR把他们视为5个段 落。这种假换行会污染后续的搜索、翻译与复制因此 eSearch 提供了两种处理手段。2. 自动删除换行自动删除换行会分析行尾的标点符号判断是否为真正的段落结束从而自动删除多余的换行你也可以在编辑器中选中部分文字仅针对选区执行删除换行操作。对于拉丁文字如英文、法语删除换行后还会自动在词间补充空格避免单词被错误拼接。在编辑器界面中删除换行对应delete_enter操作见 src/renderer/editor/editor.ts 的快捷键注册也可在主页面快捷键设置中绑定主页面快捷键.删除换行。3. 段落识别离线 OCR自带的排版识别算法可以分析基本分栏与段落并识别阅读顺序对应设置项OCR.识别段落通过排版识别算法分析段落和阅读顺序如果遇到错误的段落顺序可以尝试关闭见 src/renderer/setting/setting.ts。开启后编辑器会按parragraphs段落拼接文本否则按columns[].src原始行拼接见 src/renderer/editor/editor.ts 的 OCR 结果组装逻辑。百度 OCR的段落识别paragraphtrue同样可实现段落分析。此外OCR.整体方向识别可识别图片整体方向并自动纠正不适合竖排文字场景。提示在编辑区按下撤回快捷键可恢复到原始未识别段落的排版方便对比段落化前后的差异。五、校对图片区与编辑器的双向同步如今 OCR 模型识别率虽已相当可观但由于印刷质量、字体等客观因素误判难以完全避免。若你需要通过 OCR 录入文字或精益求精校对功能必不可少。eSearch 的定位是辅助校对——软件仅作为辅助人是最后的校对者如需更专业的校对仍应使用专业 OCR 软件。1. 原图校对与 Live Text 式体验主页面提供了图片区作为校对辅助。直接在图片区上框选文字即可体验类似苹果 Live Text实况文本的能力——但 eSearch 更进一步选区会同步到编辑器你在图片上选什么编辑器就同步选什么既能直观看到文字在图片中的位置又能就地编辑校对。反向同样成立在编辑器中选择文字会自动在图片区高亮对应原文快速定位这段识别结果对应图片上的哪一块。2. 拼写检查编辑器使用Chrome 的拼写检查以蓝色波浪线标出拼写错误帮助你快速定位 OCR 误判点部分英式英语拼写会被标记属正常现象忽略即可。编辑器还内置了 AI 拼写检查入口ai_check 图标见 src/renderer/editor/editor.ts可通过在线 AI 模型进一步校对。3. diff 算法保证同步稳定性不必担心编辑后就无法同步选择编辑器基于diff-match-patch库对原文与编辑后文本做diff见 src/renderer/editor/editor.ts 中diff: (last, now) dmp.diff_main(...)与patch_make的用法通过补丁映射即使你在编辑器上增删文字双向选区同步也能尽可能地进行定位。六、其他语言离线 OCR 与自定义模型离线 OCR 基于 PaddleOCR 的 OCR 方案。PaddleOCR 预训练了多种文字识别模型eSearch 均可在设置内直接下载中英混合中文繁体英文韩文日文泰卢固文卡纳达文泰米尔文拉丁文阿拉伯字母斯拉夫字母梵文字母设置中提供了文字与语言的对应关系如德语对应拉丁文下载后模型会自动添加到 OCR 模型列表。也可以在官方下载页获取同样的一组模型模型完全一致部分渠道缺少文字提示。手动添加模型的三个文件下载完毕后将压缩包解压到文件夹你会看到 1~3 个文件。打开设置 → OCR → 添加模型对应源码中离线OCR列表的编辑对话框见 src/renderer/setting/setting.ts按以下规则指定路径文件特征作用说明文件名含det检测模型部分语言不附带留空将使用默认模型文件名含rec识别模型必填.txt后缀字典文件必填添加后还可以更改 OCR 名称并在OCR类型中选择使用每个模型还可独立配置空格优化、精度低/高与速度快/慢档位。若所有模型共用同一检测模型可在OCR.全局det路径中统一指定留空使用默认检测模型。自己训练模型如需自定义识别语言或领域可按照以下流程接入使用PaddleOCR训练自己的模型使用Paddle2ONNX将训练产物在本地转换为 ONNX 格式按照上文手动添加模型的方式导入 eSearch。七、AI 运行后端从 CPU 到 GPU 加速离线 OCR 默认使用CPU运行模型同时也支持硬件加速后端可在设置项AI.运行后端中切换。后端选项随操作系统动态变化见 src/renderer/setting/setting.ts平台可选后端全平台CPU、WebGPULinuxCPU、WebGPU、CUDAmacOSCPU、WebGPU、coreMLWindowsCPU、WebGPU、DirectML理论上如果你的设备支持上述后端模型运行速度可以更快但部分模型或设备不支持某些后端运行出错时请改回 CPU 后端。目前模型在 CPU 上运行时也保持在可接受的速度无 GPU 设备也可正常使用。八、实用技巧两则PDF 文字多余换行有时复制 PDF 的文字也会遇到多余的换行可以尝试用自动删除换行处理并不局限于 OCR 校对场景。OCR 后自动复制可以在设置中开启自动复制 OCR 结果配置项主页面.自动复制OCR结果含复制OCR后提示开关见 src/renderer/setting/setting.ts识别完成后文字自动进入剪贴板配合搜索、翻译或贴图使用更流畅。结语eSearch 的 OCR 体系以离线可用为基石默认内置的中英混合模型开箱即用PaddleOCR 生态的多语言模型与自训练模型可通过设置 → OCR自由扩展在线路线百度、有道、大模型为追求高准确率与多场景公式、手写、表格提供了补充而编辑器独有的原图双向校对与diff 同步则让机器识别 人工把关真正落到日常工作流中。所有配置项与实现细节均可在 docs/use/ocr.md 及 src/renderer/ocr 目录中进一步查阅。【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考