零工系统企业认证:营业执照 OCR 识别,阿里云这个接口我调了一下午

零工系统企业认证:营业执照 OCR 识别,阿里云这个接口我调了一下午

导读:零工/招聘系统里,企业发岗位前得先过认证------营业执照得验真吧。人工审核慢,用户吐槽;全自动又怕假执照。后来接了个折中方案:先用阿里云 OCR 把执照信息抽出来自动填表,再人工看一眼关键字段。这篇记录接口接入的坑,尤其是 Advance 接口那个大坑。

为什么不用人工录入

一开始企业注册是手填:公司名、统一社会信用代码、法人、注册资本、成立日期......填一屏,错一屏。用户烦,审核的人更烦------得对着营业执照照片逐字核对。

后来决定上 OCR,让用户传张执照照片,信息自动带出来,能改但不用重填。审核那边也轻松,机器识别 + 人眼复核双保险。

接口接入:先看官方示例

阿里云 OCR 的营业执照识别,文档里给了两种调法:

  • recognizeBusinessLicenseWithOptions:传图片 URL,要求 URL 能被公网访问
  • recognizeBusinessLicenseAdvance:传图片流(InputStream),走文件直传
java 复制代码
// 场景一:传本地文件/流(Advance 接口)
InputStream inputStream = url.openConnection().getInputStream();
RecognizeBusinessLicenseAdvanceRequest request = new RecognizeBusinessLicenseAdvanceRequest()
        .setImageURLObject(inputStream);
client.recognizeBusinessLicenseAdvance(request, runtime);

// 场景二:传公网 URL
RecognizeBusinessLicenseRequest request = new RecognizeBusinessLicenseRequest()
        .setImageURL(imgUrl);
client.recognizeBusinessLicenseWithOptions(request, runtime);

坑一:图片在 OSS 私有桶,URL 接口直接挂

我们图片是传 OSS 私有桶的,签名 URL 倒也能访问,但签名有效期一过就 403 。而且 WithOptions 版本对图片大小、格式卡得挺死,传个手机拍的 5MB 照片,分分钟给你超时。

最后统一走了 Advance 接口------后端拿到图片流直接传,不走公网 URL,稳定太多。代价是要先把 OSS 对象拉成 InputStream,多一步而已。

坑二:endpoint 不是你想当然那个

官方默认的 endpoint 写的是 ocr.cn-shanghai.aliyuncs.com,但你的 OSS 可能在别的区。当时我把 OSS 华东一、OCR 华东二混着配,接口时好时坏,排查半天才发现是区域不一致。OCR 服务本身和 OSS 区域无关,但建议放同一区,网络延迟和故障面都小。

java 复制代码
Config config = new Config()
        .setAccessKeyId(accessKeyId)
        .setAccessKeySecret(accessKeySecret);
config.endpoint = "ocr.cn-shanghai.aliyuncs.com";

坑三:识别结果别直接信,尤其注册资本

OCR 返回的字段挺全:Name(公司名)、RegisterNumber(统一社会信用代码)、LegalPerson(法人)、Capital(注册资本)、EstablishDate(成立日期)、ValidPeriod(有效期)、Business(经营范围)。

但注意,Capital 是字符串,不是数字 ------"100万元整"这种带着"万元整"三个字。存库前得自己清洗转换,不然排序、统计全废。还有 EstablishDate 是 20221108 这种紧凑格式,入库要转成标准日期。

json 复制代码
{
  "Data": {
    "Name": "无锡道源景观工程服务有限公司",
    "RegisterNumber": "91320214MAC3EH9U7L",
    "LegalPerson": "芮莹",
    "Capital": "100万元整",
    "EstablishDate": "20221108",
    "ValidPeriod": "29991231",
    "Business": "一般项目:园林绿化工程施工;土石方工程施工;...",
    "Type": "有限责任公司(自然人投资或控股)"
  }
}

坑四:AK 权限要给对

官方示例说用 RAM 子账号,要给 AliyunVIAPIFullAccess 权限。实际生产环境建议只授 OCR 相关权限 ,别一把梭给 AliyunFullAccess。我们线上就因为这个被安全扫描揪出来过,血泪教训。

说点实在的

OCR 不是万能的。执照照片歪一点、反光、模糊,识别率就掉。我们的策略是识别结果只做预填,提交前让用户确认一遍,后台再保留人工复核入口。机器提效、人工兜底,这套组合拳下来,企业认证通过率明显上来了,审核时间从原来的几分钟缩到几十秒。

项目源码(日结零工系统):https://gitee.com/gzqkl/xllg

相关推荐
成旭先生13 小时前
银行卡识别 API:一张照片读出卡号、BIN 与发卡行
人工智能·算法·ocr·api接口·金融科技·银行卡识别·支付风控
sunoo-22914 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
开开心心就好14 小时前
本地文件搜索工具推荐,占用小速度还快
智能手机·ffmpeg·ocr·word·音视频·网络攻击模型·安全架构
winfredzhang18 小时前
用 Chrome 插件 + 局域网 Qwen2.5-VL 打造视频截屏 OCR 工具
人工智能·chrome·ocr·api·plugin
开开心心就好19 小时前
视频压缩工具推荐,画质效果很能打
智能手机·ffmpeg·ocr·word·排序算法·音视频·散列表
万物皆智能2 天前
12个图片转文字软件,包括OCR识别等功能
ocr
翼龙云_cloud2 天前
阿里云国际代理商:ECS部署DeepSeek大模型指南
服务器·阿里云·大模型·云计算
跨境数据猎手2 天前
ddddocr 与多模态大模型 OCR 对比和选择建议
ocr
AI人工智能+3 天前
医疗机构执业许可证识别技术融合计算机视觉、OCR与大模型,实现手机拍照或上传文件后自动提取证书关键字段信息
深度学习·自然语言处理·ocr·医疗机构执业许可证识别
开开心心就好4 天前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频