ios 百度ocr_Android与iOS原生百度文字识别(OCR)插件,可以使用官网API参数

本文介绍了如何使用原生插件实现iOS和Android的百度OCR文字识别,包括设置官方参数以满足不同需求,统一的返回结构,以及具体的调用方法和示例。同时,强调了权限配置和异常处理。
摘要由CSDN通过智能技术生成

更新记录

1.0.0(2020-11-09)

初始版本特点

统一的返回结构 Android 与 IOS 乃至服务端使用API的返回体是一致的

可以按官方文档设置参数,来实现差异需求

比如,想要返回的识别的身份证照片,需要识别识别行驶证副页,比如需要对驾驶证参数做归化处理等,具体查看官方接口参数文档

唯一自定义参数可以返回识别的参数,以便服务端存档

拍照显示提示语统一,Android 与 IOS 拍摄身份证、银行卡、驾驶证、行驶证等

银行卡、驾驶证、行驶证等显示框提醒更加友好

原生插件通用使用流程:

购买插件,选择该插件绑定的项目。

在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。

根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。

打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

开发完毕后正式云打包

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择

使用步骤

注册百度在管理控制台中新建一个文字识别应用,并且请填写正确的包名

图为官方的,如果需要IOS也是要填写

在应用详情页面下载对应应用的授权文件

图为官方的,IOS也是需要下载授权文件的

将百度授权文件aip.license放在如下文件夹中。

Android:nativeplugins/ChuJC-Baidu-OCR/android/assets/aip.license

IOS:nativeplugins/ChuJC-Baidu-OCR/ios/aip.license。

注意文件夹名称与路径必须完全一致,没的对应的文件夹请创建,nativeplugins 文件夹必须放在项目根目录下

配置插件,路径:manifest.json > App原生插件配置 > 选择云端插件

权限添加权限 路径:manifest.json > App权限配置

Android 需要添加如下权限

IOS需要添加如下权限

NSPhotoLibraryUsageDescription (相册-读)

NSCameraUsageDescription (摄像头)

特点

统一的返回结构 Android 与 IOS 乃至服务端使用API的返回体是一致的

可以按官方文档设置参数,来实现差异需求

比如,想要返回的识别的身份证照片,需要识别识别行驶证副页,比如需要对驾驶证参数做归化处理等,具体查看官方接口参数文档

唯一自定义参数可以返回识别的参数,以便服务端存档

拍照显示提示语统一,Android 与 IOS 拍摄身份证、银行卡、驾驶证、行驶证等

银行卡、驾驶证、行驶证等显示框提醒更加友好

调用方法如下

文字描述后面为调用方法注意方法名称大小写

身份证正面 idCardFront

身份证背面 idCardBack

银行卡 bankCard

通用文字识别(含位置信息)general

通用文字识别(含生僻字版)generalEnchanced

通用文字识别(不含位置信息版)generalBasic

通用文字识别(高精度,带位置信息)generalAccurate

通用文字识别(高精度,不带位置信息)generalAccurateBasic

网图识别 webImage

身份证正面识别(本地)idCardFrontLocal 自动识别效果

身份证背面识别(本地)idCardBackLocal 自动识别效果

驾驶证识别 drivingLicense

使用驾驶证识别时需要注意,百度目前是不论什么照片都会返回信息,这个是百度自身问题,可以在官网测试

行驶证证识别 vehicleLicense

车牌识别 plateLicense

通用票据识别 receipt

营业执照识别 businessLicense

iOCR 通用版iOCR

参数说明与返回结构体

自定义参数 is_return_image 是否返回用于识别的图片 当为字符串类型的true时

注意百度文字识别中参数值几乎都是字符串类型,请注意看文档参数值类型说明

返回结构体中新增:image_result (base64编码的字符串)

其他调用参数可以参考百度官网文档中定义的参数百度文字识别

https://ai.baidu.com/ai-doc/OCR/rk3h7xzck

IOS与Android的返回结构体都统一为官方的返回结构体,避免出现差异。可以参考官方文档中返回结构体说明

调用示例

可以参考示例工程

const ocr = uni.requireNativePlugin('ChuJC-Baidu-OCR');

...

// 身份证正面

handelIdCardFront() {

ocr.idCardFront({

detect_photo: 'true', // 百度文档中的参数选型 是否检测头像内容,默认不检测。可选值:true-检测头像并返回头像的 base64 编码及位置信息 具体参考百度文档 https://ai.baidu.com/ai-doc/OCR/rk3h7xzck

is_return_image: 'true' // 自定义参数 主要用于是否返回识别的图片 返回base64格式化的 图片

}, result => {

const msg = JSON.stringify(result);

// result 返回结构体可以参考官网API文档

uni.showModal({

title: "返回信息",

content: msg,

success: function(res) {

if (res.confirm) {

console.log('用户点击确定');

} else if (res.cancel) {

console.log('用户点击取消');

}

}

});

});

}

...

异常说明

当返回结构中出现了 error_code 与 error_msg 时说明发生异常 请参考官方错误码说明

可以使用示例APP,测试银行卡识别,随便拍摄一张不是银行卡的照片就可以出现异常提醒

{

"error_code": "110",

"error_msg": "Access token invalid or no longer valid"

}

其他

目前仅开发了如上调用方法,如果还有其他需求、问题可以发邮件到john1668@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值