# 文字识别(OCR) **eSearch**提供了开箱即用的离线 OCR,还可以选择在线 OCR。 ## 离线 OCR 离线 OCR 完全免费,不依赖网络,但它体积较大。部分在线 OCR 可以免费体验,但它速度快,准确率高,不占体积。**eSearch**默认启用离线 OCR,可以直接使用。 ## 在线 OCR **eSearch**目前支持的在线 OCR 服务是**百度 OCR**和**有道 OCR**。 ### 百度 OCR 参考[百度 OCR 的教程](https://cloud.baidu.com/doc/OCR/s/dk3iqnq51),获取 API Key 和 Secret Key,并填入设置中。截止 2022 年 1 月,百度 OCR 还可以免费领取服务。 ### 有道 OCR 参考[有道 AI 文档](https://ai.youdao.com/doc.s#guide),在创建应用时服务选择*光学字符识别服务-通用文字识别*,接入方式为*API*,获取应用 ID 和密钥,并填入设置中。 ## 格式 一些 OCR 并不能识别文字,而是把文字的一行视为一个段落。 ``` 比如这是一个段落。但 由于显示软件的自动换 行,视觉上显示为多行, OCR把他们视为5个段 落。 ``` ### 自动删除换行 自动删除换行可以分析结尾符号,自动删除换行。你也可以选中部分文字,针对他们进行删除换行操作。支持拉丁文字删除换行后自动添加空格。 ### 段落识别 自带的离线可以识别基本分栏和段落,在设置中可勾选是否开启。设置百度 OCR 的段落识别也可以实现段落分析。 在编辑区按下撤回快捷键可恢复到原始未识别段落的排版。 ## 校对 一方面,现在的 OCR 模型尽管识别率差强人意,但细节上有待提高,另一方面,由于印刷、字体等问题,OCR 常误判。对于一般的文本识别,目前的离线 OCR 已经够用,但如果你需要通过 OCR 录入文字,或精益求精,校对功能是必不可少的。 > [!NOTE] > > 本软件的校对功能并非专业,如果你需要更专业的校对,请使用其他专业 OCR 软件。 > > 同样不对校对结果负责,人是最后的校对者,软件仅作为辅助。 ### 原图校对 仅仅是换行校对还不够,主页面提供了[图片区](editor.md#图片区)进行辅助校对。 直接在图片区上选择文字,你可以体验类似苹果 Live Text(实况文本)的功能。但不止选择文字,选区将同步到编辑器,你在图片上选什么,编辑器就选什么,这样既可以知道图片上文字的位置,又可以编辑文字进行校对。 编辑器将使用 Chrome 的拼写检查,使用蓝色波浪线标出拼写错误,这样你就可以知道 OCR 这里识别错误(有时候会识别英式英语的一些拼写错误,忽略即可)。只知道错误还不行,需要找出原文,在编辑器上选择文字,自动在图片区上选中原文。 这样的选择双向同步既能了解文字在图片中的信息,也拥有的编辑能力。 不必担心编辑后就无法同步选择了,通过 diff 算法,即使你在编辑器上增删,双向同步也能尽可能地进行定位。 --- 高级功能 ## 其他语言离线 OCR,自定义 OCR 模型 离线 OCR 使用了 [paddleOCR](https://github.com/PaddlePaddle/PaddleOCR) 的 OCR 方案。 目前 paddleOCR 还预训练了多种文字识别模型: - 中英混合 - 中文繁体 - 英文 - 韩文 - 日文 - 泰卢固文 - 卡纳达文 - 泰米尔文 - 拉丁文 - 阿拉伯字母 - 斯拉夫字母 - 梵文字母 你可以直接在设置里下载,那里提供了文字与语言的对应,比如德语对应拉丁文。下载后自动添加到 OCR 模型列表。 也可以在[这里](https://esearch-app.netlify.app/ocr.html)下载,都提供了语言到文字的对应,还可以在 [GitHub](https://github.com/xushengfeng/eSearch-OCR/releases/tag/4.0.0)下载,模型都是一样的,GitHub 上没有文字提示。下载完毕后,解压到文件夹里,你会看到 1~3 个文件。打开 设置-OCR 添加模型,文件名有`det`的为检测模型,部分语言不附带,留空将使用默认模型。文件名有`rec`的为识别模型。`.txt`为字典文件。之后你可以更改 OCR 名字。 自己训练: - 使用 paddleocr 训练模型 - 使用[Paddle2ONNX](https://github.com/PaddlePaddle/Paddle2ONNX)本地转换 - 根据上面的方式添加 ## AI 后端 默认使用 CPU 运行模型,还支持 CUDA、coreML(mac)、DirectML(Windows)。**理论上**如果你的设置支持以上三种后端,应该可以更快运行模型。部分模型或设备不支持一些后端,如有错误,请改回 CPU 后端。 目前模型在 CPU 运行时也保持在可接受的速度。 --- > [!TIP] > > 有时候复制 PDF 文字也会遇到多余的换行,可以尝试使用自动删除换行,不仅仅是用于 OCR 校对。 > [!TIP] > > 你可以设置 OCR 后自动复制文字到剪贴板。