更新记录
1.3.4(2024-01-22)
- ios端支持返回识别照片路径ocrImagePath
1.3.3(2022-12-12)
- 新增快递面单识别,ocrType = waybill
1.3.2(2022-09-05)
Android端识别接口
- 修复返回识别图片冲突问题
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.1 - 11.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
跨平台百度OCR文字识别、证卡识别、票据识别原生插件
一、插件推荐
二、准备工作
1. Android、IOS端证书准备工作
-
Android端:生成Android打包keystore证书文件及获取MD5(非常重要),参考文档:Android平台签名证书(.keystore)生成指南 - DCloud问答
2. 百度资料准备
-
进入百度AI开放平台
-
点击右上角控制台登录,若无账号,请先注册账号
-
登录后,若没有实名认证,请先实名认证,推荐企业实名认证(可使用功能更多)
-
选择文字识别 —》创建应用
-
获取API Key、Secret Key以及License文件
三、快速上手
-
Step1:下载本插件示例项目,或者下载GitHub - silianpan/Seal-UniPlugin-Demo
-
Step2:打开manifest.json—》基础配置—》重新获取DCloud AppID
-
Step3:点击试用
-
Step4:打开manifest.json—》App原生插件配置—》选择云端插件
-
Step5:在项目根目录创建nativeplugins/Seal-OCR/android/assets层层文件夹,IOS端创建nativeplugins/Seal-OCR/ios目录
-
Step6:将准备工作中下载的Android端的aip.license(若下载文件名不同,统一改成此文件名)文件放置到上面创建的assets目录,IOS端aip.license文件直接放置到ios目录
-
Step7:制作自定义调试基座:在HBuilderX菜单中点击运行—》运行到手机或模拟器—》制作自定义调试基座,填写步骤及注意事项如下图
附:debug.keystore下载链接,仅仅用作测试
Keystore name: “debug.keystore” Keystore password: “android” Key alias: “AndroidDebugKey” Key password: “android”
md5:A5:61:77:2E:AA:63:15:18:47:D6:5B:EC:6A:FA:F4:0A
-
Step8:选择自定义调试基座:点击运行—》运行到手机或模拟器—》基座运行选择—》自定义调试基座
-
Step9:调试运行:点击运行—》运行到手机或模拟器—》运行到Android App基座
四、接口使用手册
-
插件方法:ocr
-
ocr方法参数
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
ak | string | null | 否 | 百度AI开放平台控制台应用Api Key,正式发布推荐采用License文件 |
sk | string | null | 否 | 百度AI开放平台控制台应用Secret Key,正式发布推荐采用License文件 |
ocrType | string | null | 是 | 识别类型,详细说明如下 |
resultType | int | 0 | 否 | 返回结果类型,0:只返回识别结果,1:只返回被识别图片,2:返回识别结果+被识别图片,IOS端默认只范围识别结果 |
scaleWidth | double | 0.2 | 否 | 拍照后显示的裁剪框宽度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效,IOS端无此配置 |
scaleHeight | double | 0.2 | 否 | 拍照后显示的裁剪框高度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效,IOS端无此配置 |
albumEnable | bool | true | 否 | 是否启用相册选择,默认:true(是),IOS端无此配置 |
backgroundColor | string | #000000 | 否 | 识别页面背景颜色,默认:#000000(黑色),IOS端无此配置 |
hintTextEnable | bool | true | 否 | 是否显示底部文字提示,默认:true(是),IOS端无此配置 |
hintText | string | null | 否 | 自定义底部提示文字内容,不填则使用插件默认文字提示,IOS端无此配置 |
hintTextColor | string | #FFFFFF | 否 | 提示文字颜色,默认:#FFFFFF(白色),IOS端无此配置 |
hintTextBackgroundColor | string | #000000 | 否 | 提示文字背景颜色,默认:#000000(黑色),IOS端无此配置 |
hintTextSize | int | 14 | 否 | 提示文字大小,默认:14px,IOS端无此配置 |
templateSign | string | null | 否 | 自定义模板ID |
-
ocrType详细说明
字段值 说明 general 通用文字识别(含位置信息版) general_basic 通用文字识别 accurate_basic 通用文字识别(高精度版) accurate 通用文字识别(含位置信息高精度版) general_enhanced 通用文字识别(含生僻字版),改服务已经停止,改用高精度版 general_webimage 网络图片识别 bankcard 银行卡识别 bankcard_scan 银行卡扫描采集,IOS端暂不支持 vehicle_license 行驶证识别 driving_license 驾驶证识别 license_plate 车牌识别 business_license 营业执照识别 receipt 通用票据识别 passport 护照识别 numbers 数字识别 qrcode 二维码识别 businesscard 名片识别,IOS端暂不支持 lottery 彩票识别,IOS端暂不支持 vatinvoice 增值税发票识别 taxireceipt 出租车票 vincode VIN码 trainticket 火车票 trip_ticket 行程单 car_sell_invoice 机动车销售发票 vihicle_sertification 车辆合格证 example_doc_reg 试卷分析和识别 written_text 手写文字识别 hukou_page 户口本识别 normal_machine_invoice 普通机打发票识别 weight_note 磅单识别 medical_detail 医疗费用明细识别 online_taxi_itinerary 网约车行程单识别 waybill 快递面单识别 idcard_front 身份证正面拍照识别 idcard_back 身份证反面拍照识别 idcard_front_scan 身份证正面扫描(嵌入式质量控制+云端识别) idcard_back_scan 身份证反面扫描(嵌入式质量控制+云端识别) custom 自定义模板 -
代码示例
sealOcrModule.ocr( { // ak: '', // sk: '', ocrType, scaleWidth: 0.1, scaleHeight: 0.1, albumEnable: false }, res => { uni.showModal({ content: '获取识别结果:' + JSON.stringify(res) }) } )
-
接口回调结果状态码说明
状态码 说明 200 识别成功 301 获取Token失败,请检查百度云应用包名配置、ak、sk是否一致 302 获取Token失败,请检查百度云应用包名配置、license文件是否一致 303 本地质量控制初始化错误 304 百度ocr错误信息,包含错误码,可对照百度官方文档查阅 1001 开始初始化SDK 1002 SDK初始化完成 1003 开始提取结果 1004 提取结果完成
五、后续计划
- [x] IOS端支持
六、本插件需要申请的系统权限列表
-
Android端需要申请的权限列表
-
android.permission.READ_EXTERNAL_STORAGE 读取 SD 卡中的内容
-
android.permission.WRITE_EXTERNAL_STORAGE 修改或删除 SD 卡中的内容
-
android.permission.INTERNET 访问网络连接
-
-
Android端:插件ocr功能使用百度开放平台文字识别ocrsdk,参考其官方网站 https://ai.baidu.com/sdk#ocr
-
ocrsdk需要申请的权限列表
-
android.permission.CAMERA 拍摄照片和视频
-
各位同学,对于插件使用还有疑问的,可以加QQ群(170683293)咨询。