Flutter Accura Scan MICR
Note:-
Add flutter_accurascan_finger under dependencies in your pubspec.yaml file.
Usage
Import flutter library into file.
import 'package:flutter_accurascan_finger/flutter_accurascan_finger.dart';
1.Setup Android
Add this permissions into Android’s AndroidManifest.xml file.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
Add it in your root build.gradle at the end of repositories.
allprojects {
repositories {
google()
jcenter()
maven {
url 'https://jitpack.io'
credentials { username 'jp_45kf9tvkijvd9c7cf34mehj1b6' }
}
}
}
Add it in your app/build.gradle file.
packagingOptions {
pickFirst 'lib/arm64-v8a/libcrypto.so'
pickFirst 'lib/arm64-v8a/libssl.so'
pickFirst 'lib/armeabi-v7a/libcrypto.so'
pickFirst 'lib/armeabi-v7a/libssl.so'
pickFirst 'lib/x86/libcrypto.so'
pickFirst 'lib/x86/libssl.so'
pickFirst 'lib/x86_64/libcrypto.so'
pickFirst 'lib/x86_64/libssl.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libopencv_java4.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libopencv_java4.so'
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86/libopencv_java4.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/x86_64/libopencv_java4.so'
}
2.Setup iOS
1.Install Git LFS using command install git-lfs
2.Run pod install
Add this permissions into iOS Info.plist file.
<key>NSCameraUsageDescription</key>
<string>App usage camera for scan documents.</string>
3.Setup Accura Scan licenses into your projects
Accura Scan has two license require for use full functionality of this library. Generate your own Accura license from here key.license
This license is compulsory for this library to work. it will get all setup of accura SDK.
For Android
Create "assets" folder under app/src/main and Add license file in to assets folder.
- key.license // for Accura Scan OCR
For iOS
Place the key.license in your project's Runner directory, and add the licenses to the target.
4.Get license configuration from SDK. It returns all active functionalities of your license.
Setting up License
Future<void> getMetaData() async{
try {
await AccuraOcr.getMetaData().then((value) =>
setupConfigData(json.decode(value)));
}on PlatformException{}
if (!mounted) return;
}
Error: String
Success: JSON String Response = {
isValid: boolean,
isFinger: boolean
}
5.Method for Enrolling Finger.
Future<void>startEnroll()async {
String handSelected = "left";
if (rightHand) {
handSelected = "right";
}
var config = [handSelected];
try {
await AccuraFinger.startFingerEnroll(config)
.then((value) =>
{
setState(() {
dynamic result = json.decode(value);
var tempDict = result["template_data"];
var enrollTemplate = tempDict.values.toList();
print("RESULT:- $result");
})
}).onError((error, stackTrace) =>
{
setState(() {})
});
} on PlatformException {}
}
handSelected: String
value: left or right
Success: JSON Response {
image_data: JSONObjects?,
template_data: JSONObjects?
}
Error: String
5.Method for Verify Finger.
Future<void>startVerify()async {
String handSelected = "left";
if (rightHand) {
handSelected = "right";
}
var config = [handSelected];
try {
await AccuraFinger.startFingerVerify(config)
.then((value) =>
{
setState(() {
dynamic result = json.decode(value);
var tempDict = result["template_data"];
var verifyTemplate = tempDict.values.toList();
print("RESULT:- $result");
})
}).onError((error, stackTrace) =>
{
setState(() {})
});
} on PlatformException {}
}
handSelected: String
value: left or right
Success: JSON Response {
image_data: JSONObjects?,
template_data: JSONObjects?
}
Error: String
6.Method to get result
Future<void>getResult()async {
var config = [enrollTemplate,verifyTemplate];
try {
await AccuraFinger.getResult(config)
.then((value) =>
{
setState(() {
dynamic result = json.decode(value);
print("RESULT:- $result");
})
}).onError((error, stackTrace) =>
{
setState(() {})
});
} on PlatformException {}
}
enrollTemplate: String
value: enroll template_data
verifyTemplate: String
value: verify template_data
Success: JSON Response { isValid: String}
Contributing See the contributing guide to learn how to contribute to the repository and the development workflow.
License: MIT