一、插件推荐
二、准备工作
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:返回识别结果+被识别图片 |
scaleWidth | double | 0.2 | 否 | 拍照后显示的裁剪框宽度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效 |
scaleHeight | double | 0.2 | 否 | 拍照后显示的裁剪框高度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效 |
albumEnable | bool | true | 否 | 是否启用相册选择,默认:true(是) |
backgroundColor | string | #000000 | 否 | 识别页面背景颜色,默认:#000000(黑色) |
hintTextEnable | bool | true | 否 | 是否显示底部文字提示,默认:true(是) |
hintText | string | null | 否 | 自定义底部提示文字内容,不填则使用插件默认文字提示 |
hintTextColor | string | #FFFFFF | 否 | 提示文字颜色,默认:#FFFFFF(白色) |
hintTextBackgroundColor | string | #000000 | 否 | 提示文字背景颜色,默认:#000000(黑色) |
hintTextSize | int | 14 | 否 | 提示文字大小,默认:14px |
templateSign | string | null | 否 | 自定义模板ID |
-
ocrType详细说明
字段值 说明 general 通用文字识别(含位置信息版) general_basic 通用文字识别 accurate_basic 通用文字识别(高精度版) accurate 通用文字识别(含位置信息高精度版) general_enhanced 通用文字识别(含生僻字版),改服务已经停止,改用高精度版 general_webimage 网络图片识别 bankcard 银行卡识别 bankcard_scan 银行卡扫描采集 vehicle_license 行驶证识别 driving_license 驾驶证识别 license_plate 车牌识别 business_license 营业执照识别 receipt 通用票据识别 passport 护照识别 numbers 数字识别 qrcode 二维码识别 businesscard 名片识别 lottery 彩票识别 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 网约车行程单识别 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 提取结果完成
五、后续计划
- IOS端支持
评论区