1.0.0 • Published 7 years ago

rnkit-excard-idcard v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

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')
  3. Declare the dependency in your android/app/build.gradle

    dependencies {
        ...
        compile project(':rnkit-excard-idcard')
    }
  4. 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()
        );
    }
  5. 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! :metal:

Basic Usage

Import library

import RNKitExcard from 'rnkit-excard-idcard';

Init

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

Init Params

KeyTypeDefaultDescription
OrientationMaskstring'MaskAll'方向设置,设置扫描页面支持的识别方向
ByPresentBOOLNO扫描页面调用方式设置,是否以present方式调用,默认为NO,YES-以present方式调用,NO-以sdk默认方式调用(push或present)
NumberOfSpaceBOOLYES结果设置,银行卡号是否包含空格
DisplayLogoBOOLYES是否显示logo
EnablePhotoRecBOOLYESEnablePhotoRec
FrameColorint扫描框颜色, 必须与FrameAlpha共同设置
FrameAlphafloat扫描框透明度, 必须与FrameColor共同设置
ScanTextColorint扫描字体颜色
IDCardScanNormalTextColorint正常状态扫描字体颜色 (身份证)
IDCardScanErrorTextColorint错误状态扫描字体颜色 (身份证)
BankScanTipsstring银行卡扫描提示文字
DRCardScanTipsstring驾驶证扫描提示文字
VECardScanTipsstring行驶证扫描提示文字
BankScanTipsstring银行卡扫描提示文字
IDCardScanFrontNormalTipsstring身份证正常状态正面扫描提示文字
IDCardScanFrontErrorTipsstring身份证错误状态正面扫描提示文字
IDCardScanBackNormalTipsstring身份证正常状态背面扫描提示文字
IDCardScanBackErrorTipsstring身份证错误状态背面扫描提示文字
fontNamestring扫描提示文字字体名称
ScanTipsFontSizefloat扫描提示文字字体大小
IDCardNormalFontNamestring正常状态扫描提示文字字体名称
IDCardNormalFontSizefloat正常状态扫描提示文字字体大小
IDCardErrorFontNamestring错误状态扫描提示文字字体名称
IDCardErrorFontSizefloat错误状态扫描提示文字字体大小
qualityfloat图片清晰度, 范围(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)
	}
}

返回值

KeyTypeDefaultDescription
typeint1:正面 2:反面
namestring姓名
genderstring性别
nationstring名族
birthstring出生
addressstring地址
codestring身份证
issuestring签发机关
validstring有效期
frontShadowint1:正面图像有遮挡 0:正面图像无遮挡
backShadowint1:背面图像有遮挡 0:背面图像无遮挡
faceImgPathstring人脸截图
frontFullImgPathstring身份证正面全图
backFullImgPathstring身份证背面全图

二、常量

const sdkVersion = RNKitExcard.sdkVersion;
const kernelVersion = RNKitExcard.kernelVersion;
KeyTypeDefaultDescription
sdkVersionstringsdk版本号
kernelVersionstring识别核心版本号

三、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 ♥