BlinkId
Microblink SDK wrapper for barcode and document scanning. See the blinkid-phonegap repository for available recognizers and other settings
https://github.com/BlinkID/blinkid-phonegap
Stuck on a Cordova issue?
If you're building a serious project, you can't afford to spend hours troubleshooting. Ionicβs experts offer premium advisory services for both community plugins and premier plugins.
Installation
- Capacitor
- Cordova
- Enterprise
$ npm install blinkid-cordova
$ npm install @awesome-cordova-plugins/blinkid
$ ionic cap sync
$ ionic cordova plugin add blinkid-cordova
$ npm install @awesome-cordova-plugins/blinkid
Ionic Enterprise comes with fully supported and maintained plugins from the Ionic Team. Β Learn More or if you're interested in an enterprise version of this plugin Contact Us
Supported Platforms
- iOS
- Android
Usage
React
Learn more about using Ionic Native components in React
Angular
import { BlinkId, RecognizerResultState } from '@awesome-cordova-plugins/blinkid/ngx';
constructor(private blinkId: BlinkId) { }
...
const overlaySettings = new this.blinkId.DocumentOverlaySettings();
const usdlRecognizer = new this.blinkId.UsdlRecognizer();
const usdlSuccessFrameGrabber = new this.blinkId.SuccessFrameGrabberRecognizer(usdlRecognizer);
const barcodeRecognizer = new this.blinkId.BarcodeRecognizer();
barcodeRecognizer.scanPdf417 = true;
const recognizerCollection = new this.blinkId.RecognizerCollection([
usdlSuccessFrameGrabber,
barcodeRecognizer,
]);
const canceled = await this.blinkId.scanWithCamera(
overlaySettings,
recognizerCollection,
{ ios: IOS_LICENSE_KEY, android: ANDROID_LICENSE_KEY },
);
if (!canceled) {
if (usdlRecognizer.result.resultState === RecognizerResultState.valid) {
const successFrame = usdlSuccessFrameGrabber.result.successFrame;
if (successFrame) {
this.base64Img = `data:image/jpg;base64, ${successFrame}`;
this.fields = usdlRecognizer.result.fields;
}
} else {
this.barcodeStringData = barcodeRecognizer.result.stringData;
}
}
...
const overlaySettings = new this.blinkId.BlinkCardOverlaySettings();
const recognizer = new this.blinkId.BlinkCardRecognizer();
recognizer.returnFullDocumentImage = false;
recognizer.detectGlare = true;
recognizer.extractCvv = true;
recognizer.extractValidThru = true;
recognizer.extractOwner = true;
const recognizerCollection = new this.blinkId.RecognizerCollection([recognizer]);
const canceled = await this.blinkId.scanWithCamera(
overlaySettings,
recognizerCollection,
{
ios: '', //iOS License Key
android: '' //Android License Key
},
);
if (!canceled) {
if (recognizer.result.resultState === RecognizerResultState.valid) {
const results = recognizer.result;
if (results.resultState === RecognizerResultState.valid) {
const ccInfo = {
cardNumber: Number(results.cardNumber),
expirationMonth: Number(results.validThru.month),
expirationYear: Number(results.validThru.year),
cvv: Number(results.cvv)
};
}
}