通用识别
函数名:ocr_通用 / ocr_general
功能描述
对任意图片进行通用 OCR 识别,支持自定义识别提示词,按用户要求提取图片中的文字或结构化信息。支持返回原始 JSON 数据与字段标题行显示,适用于票据、表单、合同、截图等多种非标场景的识别需求。
会员等级:🟢 免费版(Free)
语法
excel
=ocr_通用(文件路径, [原始数据], [显示标题], [识别提示词])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 文件路径 | String | 是 | - | 图片完整路径,支持 jpg/jpeg/png/bmp 格式 |
| 原始数据 | Boolean | 否 | false | 为 true 时返回后端原始 JSON 数据;为 false 时返回格式化字段数组 |
| 显示标题 | Boolean | 否 | false | 为 true 时在首行显示字段名称(标题行 + 值行);为 false 时仅返回值行 |
| 识别提示词 | String | 否 | "" | 自定义识别要求,仅在本函数(general 类型)中有效;为空时默认识别图片中的全部文字内容 |
返回值
Object[,] - 二维数组。原始数据 为 false 时返回识别字段数组(显示标题 为 true 时为两行:标题行与值行;为 false 时为一行值);原始数据 为 true 时返回原始 JSON 字符串。识别过程中单元格暂显 "Waiting..."。
使用示例
基础通用识别
公式:
excel
=ocr_通用("C:\images\form.jpg")结果:
姓名:张三 金额:1000.00 日期:2024-05-12自定义识别提示词
公式:
excel
=ocr_通用("C:\images\form.jpg",,,"提取表格中的姓名和金额")结果:
张三 1000.00显示字段标题行
公式:
excel
=ocr_通用("C:\images\form.jpg",,TRUE,"提取表格中的姓名和金额")结果:
姓名 金额
张三 1000.00返回原始 JSON 数据
公式:
excel
=ocr_通用("C:\images\form.jpg",TRUE)结果:
{"data":{"识别内容":"姓名:张三 金额:1000.00 日期:2024-05-12"}}文件路径为空
公式:
excel
=ocr_通用("")结果:
文件路径不能为空技术说明
- 识别类型(recognize_type)为
general,委托通用识别方法OCRGenericRecognize处理。 - 仅当
recognize_type为general且识别提示词非空时,才会将prompt字段加入请求体一并提交;其他专项识别函数不具备此参数。 - 图片读取后转为 Base64 编码,以 JSON 形式 POST 到后端接口
/api/ocr/recognize。 - 识别成功后调用
OcrQuotaManager.RecordUsage记录使用次数;服务端返回的配额限制类错误会原样返回,不记录使用次数。 - 通过
ExcelAsyncUtil.Run异步执行,处理期间返回 "Waiting...";结果经FormatOCRResult解析响应中的data对象字段并格式化为二维数组。 - 支持的图片格式:jpg、jpeg、png、bmp。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 文件路径为空 | 文件路径不能为空 |
| 文件不存在 | 文件不存在 |
| 图片格式不支持 | 文件格式不正确,支持jpg png bmp |
| 服务端返回 error 字段 | 错误: <错误信息> |
| 识别结果无 data | 无识别结果 |
| 配额已达上限 | 原样返回配额提示信息 |
| 其他异常 | 处理错误: <异常信息> |