twoBaiDuOcr 插件概述
1、封装百度ocr识别插件包括身份证识别、银行卡识别、行驶证识别,使用简单友好,去除官方中文key值和无用字段,身份证识别开启风险监测;银行卡识别银行卡并返回卡号、有效期、发卡行和卡片类型;行驶证识别对机动车行驶证主页及副页所有21个字段进行结构化识别。
2、支持对大陆居民二代身份证正反面的所有字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限;同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。
3、百度ocr sdk ,android sdk版本1.4.4, iOS sdk版本3.0.3
4、百度ocr收费标准:身份证识别500次/天免费 + 超出按量计费 ,银行卡识别500次/天免费 + 超出按量计费,行驶证识别200次/天免费+ 超出按量计费,本插件使用费不包括百度收取的费用。
注意事项:
首先在百度AI开放平台上申请账号,新建文字识别应用,
其次在工程文件config.xml配置
<feature name="twoBaiDuOcr">
<param name="apiKey" value="填写百度文字识别API Key"/>
<param name="secretKey" value="填写百度文字识别Secret Key"/>
</feature>
在使用的页面,先调用初始化方法,再使用,一定要放在页面初始化后apiready方法中,参见下面的示例代码:
初始化
initAccessToken({}, callback(ret, err))
ret:
{
status: boolean //布尔型true||false;是否初始化成功,true表示成功,false表示失败
msg:string //字符串类型;提示信息
}
var twoBaiDuOcr = null;
apiready = function () {
api.setStatusBarStyle({
style: 'dark',
color: '#6ab494'
});
twoBaiDuOcr = api.require('twoBaiDuOcr');
var param={}
twoBaiDuOcr.initAccessToken(param,function(ret, err){
if (api.systemType != 'ios'){
// 初始化身份证本地质量控制,只用android版本需要,如果不识别身份证,可以删除此方法
twoBaiDuOcr.initCameraNative({ }, function(ret, err) {
});
}
})
}
Android系统 ,iOS系统
可提供的1.0.0及更高版本
身份证正面识别,android版本需要初始化自动对焦控制器,ios不需要。
idCardFront({}, callback(ret, err))
ret:
{
status: true //布尔型true||false;是否成功,true表示成功,false表示失败
imagePath: string , //字符串类型;照片保存路径
riskType: string , //字符串类型;normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
imageStatus: string , //字符串类型;normal-识别正常,reversed_side-身份证正反面颠倒,non_idcard-上传的图片中不包含身份证
// blurred-身份证模糊
// other_type_card-其他类型证照
// over_exposure-身份证关键字段反光或过曝
// over_dark-身份证欠曝(亮度过低)
// unknown-未知状态
idCardSide: string , //字符串类型;front:身份证含照片的一面;back:身份证带国徽的一面
address: string , //字符串类型;地址
birthday: string , //字符串类型;生日
idNumber: string , //字符串类型;身份证号
ethnic: string , //字符串类型;民族
gender: string , //字符串类型;性别
name: string //字符串类型;姓名
}
twoBaiDuOcr.idCardFront({}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(err);
}
Android系统 ,iOS系统
可提供的1.0.0及更高版本
身份证背面识别,android版本需要初始化自动对焦控制器,ios不需要。
idCardBack({}, callback(ret, err))
ret:
{
status: true //布尔型true||false;是否成功,true表示成功,false表示失败
imagePath: string , //字符串类型;照片保存路径
riskType: string , //字符串类型;normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
imageStatus: string , //字符串类型;normal-识别正常,reversed_side-身份证正反面颠倒,non_idcard-上传的图片中不包含身份证
// blurred-身份证模糊
// other_type_card-其他类型证照
// over_exposure-身份证关键字段反光或过曝
// over_dark-身份证欠曝(亮度过低)
// unknown-未知状态
idCardSide: string , //字符串类型;front:身份证含照片的一面;back:身份证带国徽的一面
expiryDate: string , //字符串类型;身份证失效时间
issueAuthority: string , //字符串类型;身份证签发机关
signDate: string //字符串类型;发证日期
}
twoBaiDuOcr.idCardBack({}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(err);
}
Android系统 ,iOS系统
可提供的1.0.0及更高版本
银行卡识别
bankcard({}, callback(ret, err))
ret:
{
status: true //布尔型true||false;是否成功,true表示成功,false表示失败
imagePath: string , //字符串类型;照片保存路径
bankName: string , //字符串类型;所属银行
bankCardType: string , //字符串类型;银行卡类型 ,0:不能识别; 1: 借记卡; 2: 信用卡
bankCardNumber: string , //字符串类型;银行卡号
}
var twoBaiDuOcr = api.require('twoBaiDuOcr');
twoBaiDuOcr.bankcard({
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(err);
}
});
Android系统 ,iOS系统
可提供的1.0.0及更高版本
行驶证识别
vehicleLicense({}, callback(ret, err))
ret:
{
status: true //布尔型true||false;是否成功,true表示成功,false表示失败
imagePath: string , //字符串类型;照片保存路径
brandModel: string , //字符串类型;品牌型号
issueDate: string , //字符串类型;发证日期
usageNature: string , //字符串类型;使用性质
engineNumber: string , //字符串类型;发动机号码
licenseNumber: string , //字符串类型;号牌号码
owner: string , //字符串类型;所有人
adress: string , //字符串类型;住址
registrationDate: string , //字符串类型;注册日期
vehicleCode: string , //字符串类型;车辆识别代号
vehicleType: string //字符串类型;车辆类型
}
var twoBaiDuOcr = api.require('twoBaiDuOcr');
twoBaiDuOcr.vehicleLicense({
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(err);
}
});
Android系统 ,iOS系统
可提供的1.0.0及更高版本