rnkit-excard-idcard

1.0.0 • Public • Published

npm react-native MIT bitHound Score Downloads

易道博识-图像识别 for React Native.

此分支只支持 身份证 识别, 如需其它请到 Master 分支获取.

Support me with a Follow

Getting Started

First, cd to your RN project directory, and install RNMK through rnpm . If you don't have rnpm, you can install RNMK from npm with the command npm i -S rnkit-excard-idcard and link it manually (see below).

iOS

  • #### React Native < 0.29 (Using rnpm)

    rnpm install rnkit-excard-idcard

  • #### React Native >= 0.29 $npm install -S rnkit-excard-idcard

    $react-native link rnkit-excard-idcard

Manually

  1. Add node_modules/rnkit-excard-idcard/ios/RNKitExcard.xcodeproj to your xcode project, usually under the Libraries group
  2. Add libRNKitExcard.a (from Products under RNKitExcard.xcodeproj) to build target's Linked Frameworks and Libraries list
  3. Add ocr framework to $(PROJECT_DIR)/Frameworks.

Android

  • #### React Native < 0.29 (Using rnpm)

    rnpm install rnkit-excard-idcard

  • #### React Native >= 0.29 $npm install -S rnkit-excard-idcard

    $react-native link rnkit-excard-idcard

Manually

  1. JDK 7+ is required
  2. Add the following snippet to your android/settings.gradle:
include ':rnkit-excard-idcard'
project(':rnkit-excard-idcard').projectDir = new File(rootProject.projectDir, '../node_modules/rnkit-excard-idcard/android/app')
  1. Declare the dependency in your android/app/build.gradle
dependencies {
    ...
    compile project(':rnkit-excard-idcard')
}
  1. Import import io.rnkit.excard.EXOCRPackage; and register it in your MainActivity (or equivalent, RN >= 0.32 MainApplication.java):
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.asList(
            new MainReactPackage(),
            new EXOCRPackage()
    );
}
  1. Add Module ExBankCardSDK And ExCardSDK In Your Main Project.

Finally, you're good to go, feel free to require rnkit-excard-idcard in your JS files.

Have fun! 🤘

Basic Usage

Import library

import RNKitExcard from 'rnkit-excard-idcard';

Init

RNKitExcard.config({
  DisplayLogo: false
  ....
})

Init Params

Key Type Default Description
OrientationMask string 'MaskAll' 方向设置,设置扫描页面支持的识别方向
ByPresent BOOL NO 扫描页面调用方式设置,是否以present方式调用,默认为NO,YES-以present方式调用,NO-以sdk默认方式调用(push或present)
NumberOfSpace BOOL YES 结果设置,银行卡号是否包含空格
DisplayLogo BOOL YES 是否显示logo
EnablePhotoRec BOOL YES EnablePhotoRec
FrameColor int 扫描框颜色, 必须与FrameAlpha共同设置
FrameAlpha float 扫描框透明度, 必须与FrameColor共同设置
ScanTextColor int 扫描字体颜色
IDCardScanNormalTextColor int 正常状态扫描字体颜色 (身份证)
IDCardScanErrorTextColor int 错误状态扫描字体颜色 (身份证)
BankScanTips string 银行卡扫描提示文字
DRCardScanTips string 驾驶证扫描提示文字
VECardScanTips string 行驶证扫描提示文字
BankScanTips string 银行卡扫描提示文字
IDCardScanFrontNormalTips string 身份证正常状态正面扫描提示文字
IDCardScanFrontErrorTips string 身份证错误状态正面扫描提示文字
IDCardScanBackNormalTips string 身份证正常状态背面扫描提示文字
IDCardScanBackErrorTips string 身份证错误状态背面扫描提示文字
fontName string 扫描提示文字字体名称
ScanTipsFontSize float 扫描提示文字字体大小
IDCardNormalFontName string 正常状态扫描提示文字字体名称
IDCardNormalFontSize float 正常状态扫描提示文字字体大小
IDCardErrorFontName string 错误状态扫描提示文字字体名称
IDCardErrorFontSize float 错误状态扫描提示文字字体大小
quality float 图片清晰度, 范围(0-1)
OrientationMask
  • Portrait
  • LandscapeLeft
  • LandscapeRight
  • PortraitUpsideDown
  • Landscape
  • MaskAll
  • AllButUpsideDown

一、身份证识别

1. 使用摄像头、相册识别

try {
    const bFront = true  // 身份证方向,true-正面,false-背面
    const result = await RNKitExcard.recoIDCardFromStreamWithSide(bFront);
} catch (error) {
    if (error.code === -1) {
        console.log('on cancel')
    } else {
        console.log(error)
    }
}

2. 使用远程或本地图片识别

try {
    const imagePath = '...';
    const result = await RNKitExcard.recoIDCardFromStillImage(imagePath);
} catch (error) {
    if (error.code === -1) {
        console.log('on cancel')
    } else {
        console.log(error)
    }
}

返回值

Key Type Default Description
type int 1:正面 2:反面
name string 姓名
gender string 性别
nation string 名族
birth string 出生
address string 地址
code string 身份证
issue string 签发机关
valid string 有效期
frontShadow int 1:正面图像有遮挡 0:正面图像无遮挡
backShadow int 1:背面图像有遮挡 0:背面图像无遮挡
faceImgPath string 人脸截图
frontFullImgPath string 身份证正面全图
backFullImgPath string 身份证背面全图

二、常量

const sdkVersion = RNKitExcard.sdkVersion;
const kernelVersion = RNKitExcard.kernelVersion;
Key Type Default Description
sdkVersion string sdk版本号
kernelVersion string 识别核心版本号

三、clean 清理图片临时目录

try {
    const result = await RNKitExcard.clean();
} catch (error) {
    console.log(error)
}

Contribution

Questions

Feel free to contact me or create an issue

made with ♥

Package Sidebar

Install

npm i rnkit-excard-idcard

Weekly Downloads

3

Version

1.0.0

License

MIT

Last publish

Collaborators

  • simman