Skip to content

通用识别

函数名:ocr_通用 / ocr_general

功能描述

对任意图片进行通用 OCR 识别,支持自定义识别提示词,按用户要求提取图片中的文字或结构化信息。支持返回原始 JSON 数据与字段标题行显示,适用于票据、表单、合同、截图等多种非标场景的识别需求。

会员等级:🟢 免费版(Free)

语法

excel
=ocr_通用(文件路径, [原始数据], [显示标题], [识别提示词])

参数

参数名类型必填默认值说明
文件路径String-图片完整路径,支持 jpg/jpeg/png/bmp 格式
原始数据Booleanfalse为 true 时返回后端原始 JSON 数据;为 false 时返回格式化字段数组
显示标题Booleanfalse为 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_typegeneral识别提示词 非空时,才会将 prompt 字段加入请求体一并提交;其他专项识别函数不具备此参数。
  • 图片读取后转为 Base64 编码,以 JSON 形式 POST 到后端接口 /api/ocr/recognize
  • 识别成功后调用 OcrQuotaManager.RecordUsage 记录使用次数;服务端返回的配额限制类错误会原样返回,不记录使用次数。
  • 通过 ExcelAsyncUtil.Run 异步执行,处理期间返回 "Waiting...";结果经 FormatOCRResult 解析响应中的 data 对象字段并格式化为二维数组。
  • 支持的图片格式:jpg、jpeg、png、bmp。

错误处理

错误场景返回值
文件路径为空文件路径不能为空
文件不存在文件不存在
图片格式不支持文件格式不正确,支持jpg png bmp
服务端返回 error 字段错误: <错误信息>
识别结果无 data无识别结果
配额已达上限原样返回配额提示信息
其他异常处理错误: <异常信息>

基于源代码最新版本文档