身份证识别OCR
函数名:idc_OCR / idc_OCR
功能描述
对身份证图片进行 OCR 识别,提取身份证字段信息。支持返回结构化表格或原始 JSON 数据,采用异步执行避免阻塞 Excel。
会员等级:🟢 免费版(Free)
语法
excel
=idc_OCR(文件路径, [原始数据])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 文件路径 | String | 是 | - | 身份证图片的完整文件路径,支持 jpg/jpeg/png/bmp 格式 |
| 原始数据 | Boolean | 否 | FALSE | TRUE 返回原始 JSON 字符串,FALSE 返回横向结构化表格 |
返回值
二维数组(Object[,])或 String -
原始数据 = FALSE:返回 2 行 N 列的横向表格,第一行为字段名,第二行为对应值。原始数据 = TRUE:返回 OCR 识别的原始 JSON 字符串。
使用示例
结构化表格识别(默认)
公式:
excel
=idc_OCR("C:\images\idcard.jpg")结果(横向表格):
姓名 性别 民族 出生日期 住址 身份证号
张三 男 汉 1990-01-01 北京市... 110101199001011234返回原始 JSON
公式:
excel
=idc_OCR("C:\images\idcard.jpg", TRUE)结果:
json
{
"name": "张三",
"sex": "男",
"nation": "汉",
"birth": "1990-01-01",
"address": "北京市...",
"idcard": "110101199001011234"
}文件不存在
公式:
excel
=idc_OCR("C:\images\nofile.jpg")结果:
文件不存在技术说明
- 异步执行:通过
ExcelAsyncUtil.Run异步调用,识别期间单元格显示"Waiting...",完成后自动刷新结果。 - 后端接口:调用
/api/ocr/recognize接口,识别类型recognize_type = idcard,图片以 Base64 编码上传。 - 格式支持:仅支持 .jpg、.jpeg、.png、.bmp 格式图片。
- 字段过滤:结构化表格自动过滤
msg、datetime、err_code、data等非业务字段。 - 配额管理:识别成功后记录使用次数;配额限制类错误原样返回。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 文件路径为空 | 文件路径不能为空 |
| 文件不存在 | 文件不存在 |
| 文件格式不正确 | 文件格式不正确,支持jpg png bmp |
| 配额已达上限 | 原样返回配额限制提示信息 |
| OCR 识别失败 | OCR识别失败: 错误信息 或 处理错误: 错误信息 |
| 异步执行中 | Waiting... |