在做自动化脚本、RPA工具、批量数据处理时,很多开发者都会遇到一个问题:
👉 如何用易语言实现图片文字识别(OCR)?
本篇文章将带你从 0 到 1 完成:
-
OCR接口原理讲解
-
易语言调用API完整流程
-
可直接运行的示例代码
-
常见问题避坑指南
同时支持多种语言(中文/英文/多语言识别)。
一、什么是 OCR 文字识别?
OCR(Optical Character Recognition)即光学字符识别技术,可以将图片中的文字提取为可编辑文本。
常见应用场景:
-
自动识别截图文字(游戏/工具)
-
批量提取图片信息
-
电商商品信息抓取
-
文档数字化处理
👉 如果你是新手,建议先看这篇基础文章:《文字识别通用OCR接口调用与功能说明》
二、为什么推荐使用 OCR API?
相比本地OCR方案,API方式有明显优势:
| 方案 | 优点 | 缺点 |
|---|---|---|
| 在线工具 | 简单 | 无法自动化 |
| 本地OCR | 可离线 | 部署复杂 |
| OCR API | ✅易接入、支持自动化、准确率高 | 需要调用接口 |
👉 详细对比可以参考:《在线 OCR vs OCR API 接口怎么选?》
三、OCR API 接口说明
接口支持:
-
通用文字识别
-
多语言识别
-
高精度识别
-
图片自动纠偏
👉 支持在线免费体验,API文档齐全,提供各种接口代码示例。

👉 API文档

四、易语言调用 OCR API 实现流程
整体流程如下:
1️⃣ 读取本地图片
2️⃣ 转换为 Base64
3️⃣ 发送 HTTP 请求
4️⃣ 接收返回 JSON
5️⃣ 提取识别结果
五、完整示例(易语言代码)
1️⃣ 请求方式(POST)

2️⃣ 请求参数
请求方式:POST
请求头(header):
| 参数 | 类型 | 说明 |
|---|---|---|
| Authorization | string | 'APPCODE ' + 您的AppCode(注意英文空格) |
| Content-Type | string | application/json |
请求体(body):
| 参数 | 是否必填 | 类型 | 说明 |
|---|---|---|---|
| file_base64 | 必须填写其中之一 | string | base64编码的图片或PDF文件。像素范围:[15,8192],小于20M |
| file_url | 必须填写其中之一 | string | 图片或PDF文件URL。像素范围:[15,8192],小于20M |
| file_id | 必填 | string | 文件id,异步获取结果时,传此值 |
| mode | 选填 | string | 同步: "sync";异步: "async";默认同步;同步时PDF最多10页 |
| doc_orient | 选填 | bool | 是否自动转正文档,默认True |
| text_orient | 选填 | bool | 是否自动转正每行文字,默认False |
| is_line | 选填 | bool | 是否为单行文字,默认False |
3️⃣ 易语言核心代码示例
API文档地址:https://market.shiliuai.com/doc/advanced-general-ocr
版本 2
.支持库 spec
.支持库 dp1
.子程序 通用OCR_简单认证
.局部变量 局_网址, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 图片数据, 字节集
.局部变量 base64图片, 文本型
图片数据 = 读入文件 ("你的文件路径")
base64图片 = 编码_BASE64编码 (图片数据)
局_提交数据 = "{" + #引号 + "file_base64" + #引号 + ":" + #引号 + base64图片 + #引号 + "}"
局_网址 = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"
局_提交协议头 = "Authorization: APPCODE 你的AppCode" + #换行符 + "Content-Type: application/json"
局_结果 = 网页_访问_对象 (局_网址, 1, 局_提交数据, , , 局_提交协议头, , , , , , , , , , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果, , , ))
返回 (局_返回)
六、返回
返回类型:
JSON
返回信息:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码 |
| msg | string | 错误信息(英文) |
| msg_cn | string | 错误信息(中文) |
| success | bool | 识别是否成功 |
| file_id | string | 请求文件ID |
| request_id | string | 唯一请求ID |
| data | data | 具体见返回示例 |
成功示例
成功示例:
{
'code': 200,
'msg': 'OK',
'msg_cn': '成功',
'success': True,
'file_id': file id,
'request_id': request id,
'data': data, 具体看下面
}
data = {
"page_count": 5, // int, 文件页面总数
"process_pages": 3, // int, 处理页面数
"status": 2, // int, 处理状态,0: 已加入队列, 1: 正在处理中, 2: 已完成,同步时此值为2
"wait_time": 0.0 // float, 大概还需等待时间,同步时此值为0
// 如果status==2:
"pages": [
{
"width": 2000, // int, 页面宽度
"height": 2500, // int, 页面高度
"prob_mean": 0.98, // float, [0, 1], 页面文字置信度平均值,若is_line,则不返回该项
"prob_std": 0.11, // float, 页面文字置信度标准差,若is_line,则不返回该项
"lines": [
{
"text": "你好", // string, 文字内容
"prob": 0.995, // float, [0, 1], 文字内容置信度
"keypoints": [[50, 20], [150, 20], [150, 60], [50, 60]] // list, [[xi, yi]], 文字区域角点位置,以左上角为起点,按顺时针排列;若is_line,则不返回该项
},
......
]
},
......,
]
}
👉 解析 JSON 后即可获取识别内容。
七、常见问题(避坑指南)
❌ 1. 识别结果为空?
-
图片过小 / 模糊
-
Base64编码错误
👉 解决方案:可结合《图片变清晰 API 实战》
❌ 2. 图片倾斜识别不准?
👉 使用自动纠偏OCR接口
参考:
👉 《OCR识别不准确怎么办?》
❌ 3. 请求失败?
-
URL错误
-
Header未设置
-
JSON格式错误
八、总结
通过本文你已经掌握:
✅ 易语言调用 OCR API 的完整流程
✅ 可运行代码示例
✅ 常见问题解决方案
👉 如果你想进一步提升效果,推荐阅读: