更新记录

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

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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端证书准备工作

2. 百度资料准备

  • 进入百度AI开放平台

  • 点击右上角控制台登录,若无账号,请先注册账号

  • 登录后,若没有实名认证,请先实名认证,推荐企业实名认证(可使用功能更多)

  • 选择文字识别 —》创建应用

    创建应用

  • 获取API Key、Secret Key以及License文件

    获取License文件

  • 百度OCR接口收费详情,有免费赠送次数,用于开发及调试,请在百度控制台—》概述查看,或者直接查看产品定价文档

    百度OCR接口收费详情

三、快速上手

  • 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)咨询。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

* 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 拍摄照片和视频

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问