Skip to main content
Version: v5

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?

Don't waste precious time on plugin issues.

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

$ npm install blinkid-cordova 
$ npm install @awesome-cordova-plugins/blinkid
$ ionic cap sync

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)
};
}
}