rnkit-excard-idcard
v1.0.0
Published
易道博识-图像识别 for ReactNative, 身份证识别.
Downloads
27
Maintainers
Readme
易道博识-图像识别 for React Native.
此分支只支持 身份证 识别, 如需其它请到 Master
分支获取.
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
- Add
node_modules/rnkit-excard-idcard/ios/RNKitExcard.xcodeproj
to your xcode project, usually under theLibraries
group - Add
libRNKitExcard.a
(fromProducts
underRNKitExcard.xcodeproj
) to build target'sLinked Frameworks and Libraries
list - 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
- JDK 7+ is required
- 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')
- Declare the dependency in your
android/app/build.gradle
dependencies {
...
compile project(':rnkit-excard-idcard')
}
- Import
import io.rnkit.excard.EXOCRPackage;
and register it in yourMainActivity
(or equivalent, RN >= 0.32 MainApplication.java):
@Override
protected List<ReactPackage> getPackages() {
return Arrays.asList(
new MainReactPackage(),
new EXOCRPackage()
);
}
- Add Module
ExBankCardSDK
AndExCardSDK
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
| 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
- @simamn The main author.
Questions
Feel free to contact me or create an issue
made with ♥