侧边栏壁纸
博主头像
silianpan博主等级

Feel no regret for this life.

  • 累计撰写 41 篇文章
  • 累计创建 22 个标签
  • 累计收到 5 条评论

百度OCR文字识别、证卡识别、票据识别原生插件

silianpan
2022-03-26 / 0 评论 / 0 点赞 / 2,260 阅读 / 3,040 字
温馨提示:
本文最后更新于 2023-04-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一、插件推荐

二、准备工作

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方法参数

参数类型默认值是否必填说明
akstringnull百度AI开放平台控制台应用Api Key,正式发布推荐采用License文件
skstringnull百度AI开放平台控制台应用Secret Key,正式发布推荐采用License文件
ocrTypestringnull识别类型,详细说明如下
resultTypeint0返回结果类型,0:只返回识别结果,1:只返回被识别图片,2:返回识别结果+被识别图片
scaleWidthdouble0.2拍照后显示的裁剪框宽度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效
scaleHeightdouble0.2拍照后显示的裁剪框高度,取值范围0.05 ~ 0.2,值越小裁剪框越大,0.05为最大,宽度和高度可设不同,ocrType类型为 "身份证"、"银行卡" 和 "护照" 时无效,其他类型均有效
albumEnablebooltrue是否启用相册选择,默认:true(是)
backgroundColorstring#000000识别页面背景颜色,默认:#000000(黑色)
hintTextEnablebooltrue是否显示底部文字提示,默认:true(是)
hintTextstringnull自定义底部提示文字内容,不填则使用插件默认文字提示
hintTextColorstring#FFFFFF提示文字颜色,默认:#FFFFFF(白色)
hintTextBackgroundColorstring#000000提示文字背景颜色,默认:#000000(黑色)
hintTextSizeint14提示文字大小,默认:14px
templateSignstringnull自定义模板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出租车票
    vincodeVIN码
    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
    1002SDK初始化完成
    1003开始提取结果
    1004提取结果完成

五、后续计划

  •  IOS端支持
0

评论区