免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

2026-06-01 08:49:25 3点赞 20收藏 3评论

Hi,我是执着于持续分享NAS、AI、数码、家电、软件技巧相关知识,坚持创作有深度、高质量作品的博主 设计虱聊科技。期待您的关注。


昨天我给 Hermes Agent 接了个新能力——免费的在线OCR文字识别服务。

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

家有神兽+上班牛马,真的是太需要这个了。

想用 Hermes 整理孩子的错题,或者统计报销数据和进度,都需要先让他正确识别发票和小票,再接入报销管理的工作流。 这些都需要一个靠谱的 OCR。

但是,主流的 OCR 方案都是需要付费的,我们又不是频繁使用,有没有免费的方案呢?

当然!


✿ 免费 OCR 路线之争

免费 OCR 之所以能识别图片内的文字,是因为后台有个 OCR 模型在做文字提取的工作。

目前有两种方式:

(1)自己在本地设备上部署一个开源的 OCR 模型,比如在电脑或者 NAS 上。

NAS 上能跑 OCR 的方案不少,拉一个适合自己设备的 OCR 模型就行(如果你的设备有 GPU,选择就更多了)。

但我已经在我的绿联 DX4600 上 跑个一个向量模型了,这台设备没有 GPU,只能靠纯 CPU 计算。

再跑个 OCR 模型,我真的有点心疼 CPU 了。

(2)找一个免费提供 OCR 模型的服务,直接调用。

后来发现 OCR.space 提供免费 API,个人低频使用,使用免费版就完全够用了。

OCR.Space 是一款基于云端的免费 OCR 工具,同时也提供免费的 API 服务。支持每月 25000 次调用,每次文件不大于 1MB 就可以了。

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

但直接让 Hermes 调用它会有个跨域的问题,被 CORS 挡住。

解决方案是用 Cloudflare Worker 做一层代理。Worker 跑在 Cloudflare 的边缘节点上,就不存在跨域问题了,还能把 API Key 藏在服务端。

通俗地说就是:

Hermes 直接硬闯 OCR. space 的大门会被保安拦下来,所以我们需要在 Cloudflare 雇佣一个“快递员”帮我们传递材料。Hermes 只需要跟快递员交接几句可以了,既解决了进门难的问题,又把家里的钥匙(API Key)藏在了快递员的口袋里。


✿ 三步搭建完成

第一步,在 OCR. space 注册账号,拿到 API Key。

点击 Ocr. Space 右上角的 Free OCR API

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

在左边栏点击 Get your free API key,在弹出的页面简单填写信息后,就可以拿到一个免费的 API Key 了。

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

第二步,去 Cloudflare 建个 Worker 做代理(快递员)。

如果还没有 Cloudflare 的账号,先去注册一个。

进入 Cloudflare Dashboard 后,在左边栏找到 Workers and Pages,在弹出的页面右上角找到 创建应用程序

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

选择 从Hello World!开始

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

Worker name 看自己喜欢。我喜欢直接一点,直接命名为 ocr。然后点右下角 部署

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

稍等几秒后,会弹出一个界面,我们在绑定一栏,点击 添加绑定,为这个应用程序绑定一个 Workers AI

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

这个 Workers AI 是 Cloudflare 提供的,支持每天约10000次的免费推理请求。

OCR.space 负责把图片变成“字”,而这个 Workers AI 负责把这些“字”变成“有用的信息”。

在左栏选择 Workers AI,点击右下角 添加绑定

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

变量名称也可以填 AI,然后继续 添加绑定

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

可以看到,快递员 Workers 已经绑定了 Cloudflare 免费提供的 Workers AI,现在我们给他安排工作,点击右上角的 编辑代码

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

在弹出的窗口中,粘入以下代码,将第一步获得的 OCR. space 的 API Key 填进去,然后点击右上角 部署

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

代码:

export default { async fetch(request, env, ctx) { // 1. 处理跨域 (CORS) if (request.method === 'OPTIONS') { return new Response(null, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type', }, }); } try { // 2. 获取图片数据 const formData = await request.formData(); const file = formData.get('file'); if (!file) { return new Response(JSON.stringify({ error: 'No file uploaded' }), { status: 400 }); } // 3. 构造发送给 ocr.space 的请求 // 注意:这里我们直接使用 'helloworld' 作为 API Key const ocrFormData = new FormData(); ocrFormData.append('apikey', '填入OCR.space的API Key'); // <--- 就在这里填入 Key ocrFormData.append('language', 'chs'); // 识别中文 ocrFormData.append('isOverlayRequired', 'false'); ocrFormData.append('file', file, file.name); // 4. 发送请求到 ocr.space const ocrResponse = await fetch('https://api.ocr.space/parse/image', { method: 'POST', body: ocrFormData, }); const ocrData = await ocrResponse.json(); // 5. 处理 ocr.space 的返回结果 if (ocrData.IsErroredOnProcessing) { return new Response(JSON.stringify({ error: ocrData.ErrorMessage }), { status: 500 }); } // 6. 提取文字并返回给 Hermes let fullText = ''; if (ocrData.ParsedResults && ocrData.ParsedResults.length > 0) { fullText = ocrData.ParsedResults[0].ParsedText; } return new Response(JSON.stringify({ text: fullText }), { headers: { 'Content-Type': 'application/json' }, }); } catch (err) { return new Response(JSON.stringify({ error: err.message }), { status: 500 }); } }, };

这样,这个流程就基本打通了。

第三步,绑自定义域名(必须)。

由于众所周知的原因,Cloudflare 默认分配的 xxx.workers.dev 域名在我大唐访问不了。如果没有条件,或者不想一直科学冲浪的话,我们必须绑一个自己的域名,才能正常用。

域名我们可以注册类似 12345678. xyz 的数字域名,非常便宜,一年才几块钱,除了用在这次的 OCR 服务,还可以用作反代、绑定动态公网地址等其他用途。注册域名网上有很多教程,这里就不再赘述。

这个域名必须先托管到 Cloudflare(可以选免费套餐)。

以从阿里云转入为例,简单说下转入流程:

1️⃣ 登录 Cloudflare,点「添加站点」,输入你的域名,选免费套餐。

2️⃣ Cloudflare 会扫描你现有的 DNS 记录,然后给你两个 nameserver 地址,类似 xxx.ns.cloudflare.com

3️⃣ 登录阿里云控制台,「域名」→「域名列表」→ 找到你的域名 →「DNS管理」→「修改DNS服务器」。

4️⃣ 把阿里云默认的 nameservers 删掉,换成 Cloudflare 给你的那两个,保存。

5️⃣ 等生效就行了,通常几分钟到几小时,最多 48 小时。生效后,进入 Cloudflare 控制台,会看到域名已生效。

然后回到 Cloudflare Dashboard,在 Workers 和 Pages 设置找到刚才我们新建的 ocr,点击 添加域名

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

在弹出的窗口中,我们在自己的域名下,添加专门为 OCR 服务设置的子域名,这个可以按自己喜欢的名字输入。比如我的就是 ocr. xxxxxx. xyz,设置完点击 添加域名

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

我们可以看到,刚才输入的子域名已经生效。

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

绑完之后,任何工具、任何脚本,只要能发 HTTP 请求,就能调用你的 OCR 服务了。

以 Hermes 为例,我直接把 ocr. xxxxxxxx. xyz 这个地址发给他,告诉他我们在 Cloudflare Workers AI 配置了 OCR 服务,让他尝试接通。

不一会儿,他就会告诉你测试通过。

免费在线OCR:为Hermes提供文字提取能力,试卷发票识别再也不愁

✿ 真正省心的地方

○ 零成本。

Cloudflare Workers 免费版每天 10 万次请求,OCR.space 免费版每月 25000 次调用。个人用根本用不完。

○ 不占资源。

不用 Docker,不用装依赖,NAS 内存 CPU 什么都不占。所有计算都在云端完成。

○ 中文识别不错。

我测了中文试卷、英文截图,印刷体基本没问题。复杂排版和手写体差一些。

○ 接入简单。

Hermes 配置里加个端点地址就行,一个 Python 脚本也能搞定。任何能发 HTTP 请求的工具都能调。


✿ 也有不完美的地方

○ 文件大小有限制。 OCR.space 免费版限制 1-5MB,太大的图片传不上去。解决方案是在调用前压缩图片,Hermes 的配置里可以设图片压缩。

○ 需要自己的域名且必须托管到 Cloudflare。 workers.dev 默认域名在国内用不了。域名本身不贵,但这是个前置步骤。

○ 数据会上传到 OCR.space。 图片毕竟过了一遍云端,如果你处理的是敏感文档,这条路可能不适合。那就走本地 PaddleOCR,数据完全不出局域网。

○ 中文不是 OCR.space 的强项。 印刷体和截图文字基本能识别,复杂排版或手写体就差一些。英文内容反而表现更好。

如果你对中文识别准确率有要求,我准备过几天再尝试一下 PaddleOCR 本地部署,敬请关注。


✿ 我的真实感受

Cloudflare Workers 这个东西,一开始我以为只是个简单的边缘计算工具。用了之后才发现,它能做的事情远比我想的多。OCR 代理只是其中一个应用场景,你可以用它做各种 API 中转、数据处理、甚至轻量级的后端服务。

对于 NAS 用户来说,OCR 是个挺实用的能力。发票识别、文档数字化、截图文字提取,场景很多。能用最低的成本搞定,何乐而不为?

如果你也在用 AI Agent,或者只是偶尔需要从图片里提取文字,真的可以试试。十分钟,三步,轻松搞定。


关注我,蹲后续。您的支持对我真的很重要O(∩_∩)O)。让我们共同打造互联网内容创作和知识分享的一股清流!ヾ(◍°∇°◍)ノ゙


展开 收起
3评论

  • 精彩
  • 最新
  • 用百度ocr不是更好?

    校验提示文案

    提交
    百度的本地模型吗?我也部署了,两个效果都不错。

    校验提示文案

    提交
    paddleocr 可以传100M以内的,每天2000页。效果更是SOTA级别的。

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
20
扫一下,分享更方便,购买更轻松