请求 URL:
/Code.ashx?op=code&app=api&token=YOUR_TOKEN&type=0
调用方式: POST
参数统一拼在 URL 中,图像数据通过 POST body 传递(支持 multipart
文件流、表单字段或纯文本)。
2.1 输入待识别图像 (三选一)
| 参数名 |
类型 |
说明 |
| (文件) |
File |
标准的 multipart 上传文件流。 |
| url |
String |
图片的公网可访问直链地址。 |
| code |
String |
图片的 Base64 字符串(无需包含头部格式声明)。 |
2.2 核心模式与引擎控制
| 参数名 |
必填 |
说明 |
| type |
否 |
识别模式:
0: 文本识别 (默认)
1: 竖排识别
2: 表格识别
3: 公式识别 (如 MathPix)
|
2.3 格式化与排版规则 (可选)
以下参数传值 1 开启对应处理,值 0 不开启。
若无特定需求,建议不传,留给系统决断:
| 参数名 |
必填 |
说明 |
| left |
否 |
传 1 强制从左到右排序拼接。 |
| top |
否 |
传 1 强制从上到下排序。 |
| autodirection |
否 |
传 1 自动判断图像朝向并旋转摆正。 |
| half |
否 |
传 1 自动全角标点转常规半角。 |
| space |
否 |
传 1 自动处理英文与中日韩文字间的字词空格。 |
| symbol |
否 |
传 1 自动矫正怪异的标点符号。 |
| duplicate |
否 |
传 1 自动去重复连字符。 |
2.4 返回值说明 (JSON)
识别接口返回标准 JSON 格式。值为 null 的字段会自动省略。
顶层字段
| 字段 |
类型 |
说明 |
| id |
String |
本次请求的唯一批次 ID(UUID 格式),可用于异步查询结果。 |
| ocrType |
Int |
识别类型,与请求参数 type 对应。 |
| processId |
Int |
处理该请求的引擎节点 ID。 |
| processName |
String |
处理引擎名称。为空时表示识别超时或未分配到节点。 |
| state |
Int |
处理状态码(见下方枚举表)。 |
| message |
String |
附加消息/错误说明,仅在特殊情况下返回。 |
| result |
Object |
核心识别结果对象(详见下方子字段表格)。 |
| desc |
String |
引擎附加的补充描述信息(如有)。 |
result 子对象 — 文本结果
| 字段 |
类型 |
说明 |
| autoText |
String |
⭐ 推荐使用。经过智能段落合并、排版优化后的完整文本。 |
| spiltText |
String |
按原始段落分割的文本(段间以 \t 缩进 + \n 换行分隔)。表格模式下为 JSON 行列数据。 |
| transText |
String |
翻译结果文本(仅在 type=翻译 模式下返回,结构与 spiltText 对应)。 |
| lang |
String |
引擎自动检测到的图片语种标识(如 chi_sim, eng, jpn)。 |
| resultType |
Int |
结果格式类型。0=纯文本, 1=网页(含公式渲染), 2=表格。 |
result 子对象 — 坐标定位数据 🗺️
以下字段包含每个文本块在原图上的精确位置,适用于需要做高亮叠加、区域提取等场景。
| 字段 |
类型 |
说明 |
| spiltLocText |
String |
带坐标信息的原始分段文本(经智能段落合并后的结果,含位置信息)。 |
| transLocText |
String |
带坐标信息的翻译分段文本。 |
| verticalText |
String (JSON) |
⭐ 完整的文本块坐标数组的 JSON 字符串。每个元素为一个 TextCellInfo 对象(见下方结构)。 |
verticalText 中的 TextCellInfo 对象结构
[
{
"words": "识别出的文字内容",
"trans": "翻译结果(如有)",
"pageIndex": 0,
"location": {
"left": 120.0,
"top": 45.0,
"width": 230.0,
"height": 28.0
}
},
...
]
| 字段 |
类型 |
说明 |
| words |
String |
该文本块识别出的文字。 |
| trans |
String |
翻译结果(仅翻译模式下有值)。 |
| pageIndex |
Int |
所属页码索引(多页文档场景下有效,从0开始)。 |
| location.left |
Double |
文本块左上角 X 坐标(像素)。 |
| location.top |
Double |
文本块左上角 Y 坐标(像素)。 |
| location.width |
Double |
文本块宽度(像素)。 |
| location.height |
Double |
文本块高度(像素)。 |
result 子对象 — 文件下载
| 字段 |
类型 |
说明 |
| viewUrl |
String |
当 resultType=1 (网页/公式) 时,返回的在线预览页地址。 |
| downloadHtml |
String |
包含下载链接的 HTML 片段。 |
| files |
Array |
可供下载的结果文件列表,每项为 DownLoadInfo 对象(见下方结构)。 |
files 中的 DownLoadInfo 对象结构
| 字段 |
类型 |
说明 |
| url |
String |
文件下载地址。 |
| param |
String |
下载所需的附加参数。 |
| fileType |
Int |
文件类型枚举:1=PDF, 2=Word, 3=PPT,
4=Excel, 5=TXT, 6=Markdown
|
| desc |
String |
文件描述说明。 |
state 状态枚举
| 值 |
含义 |
说明 |
| 0 |
待处理 |
请求已收到,尚未分配引擎。 |
| 2 |
处理成功 |
正常返回识别结果。 |
| 3 |
处理失败 |
引擎处理异常,可重试。 |
| 4 |
处理超时 |
引擎未在有效期内返回。 |
| 6 |
并发限制 |
当前并发请求过多,请降低频率。 |
| 7 |
类型不支持 |
不支持当前识别类型或文件格式。 |
返回示例
✅ 成功响应(含坐标数据):
{
"ocrType": 0,
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"processId": 3,
"processName": "OCR-Node-01",
"state": 2,
"result": {
"autoText": "智能合并后的完整文本",
"spiltText": "按段落分割的原始文本",
"verticalText": "[{\"words\":\"你好\",\"location\":{\"left\":10,\"top\":20,\"width\":80,\"height\":22}}]",
"resultType": 0,
"lang": "chi_sim"
}
}
❌ 错误/限额响应:
{
"ocrType": 0,
"processName": "温馨提示",
"result": {
"spiltText": "今日API额度已用尽,请充值后继续使用!",
"autoText": "今日API额度已用尽,请充值后继续使用!"
},
"id": 1
}