Installation on Flutter
How to install Document Reader SDK.
Overview
graph LR
A(Document Reader SDK) --> B(API);
A --> C(Core);
B --> D(Common);
A -.- E[(Database)];
Document Reader SDK consists of two frameworks: API and Core.
API framework provides the external interface for controlling the process and getting the result. It depens on the Common framework that is an interface for working with the camera and other modules that are used in other Regula SDKs.
Core framework provides the recognition functionality where all the processing happens. This is the internal framework, it is used by the API framework only and is not accessible for developers. However, it should be referenced in the project.
Database contains the documents' data. It's mandatory to have it if you use the Core type that supports document type recognition.
Requirements
-
The latest stable version of Xcode and Android Studio.
-
Minimum target is iOS 11.0.
-
Minimum Android API level is 21.
Installation
To always use the latest release version, add the following to your pubspec.yaml
:
pubspec.yaml | |
---|---|
1 2 3 |
|
Alternatively, you can pin to a specific version (for example 1.0.0):
pubspec.yaml | |
---|---|
1 2 3 |
|
And then run in Terminal the command below to install dependencies in your project:
flutter pub get
Android permissions
The following functions require adding the INTERNET
permission:
DocumentReader.instance.prepareDatabase();
DocumentReader.instance.runAutoUpdate();
DocumentReader.instance.checkDatabaseUpdate();
The following functions require adding the NFC
permission:
DocumentReader.instance.rfid();
Permissions are added to the top section of android/app/src/main/AndroidManifest.xml
like this:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NFC" />
...
</manifest>
Now, you can import the SDK in your Dart code:
import 'package:flutter_document_reader_api/flutter_document_reader_api.dart';
Core Types
There is a variety of the Core framework types, each has different features included.
Find the list of available features in the table below.
Feature | Description |
---|---|
Visual zone OCR | Optical character recognition of the document visual zone text fields based on document templates included in the database. |
Document type identification | Automatic recognition of the document type: no need to manually select a country, document type, and series for processing. |
MRZ OCR | Reading and parsing the machine readable zone lines into separate fields. |
Barcode recognition | Reading the 1D and 2D (PDF417, QR, Aztec, Datamatrix) barcodes and automatic parsing into text fields using included document template specifications if the template database is available and the document type is identified. |
Document location | Detecting the document boundaries and cropping out the document from the supplied picture. |
Graphics cropping | Cropping graphic fields, such as a photo portrait and signature, based on templates included in the database. |
RFID chip processing | Reading data from electronic contactless chips of ePassport, eID, and eDL using NFC hardware, if present. |
Security features check | For each document type, certain secutiry checks can be performed. For example, UV dull paper check, image patterns (VIS), IR transparency, etc. You can find the security checks by document types in the Documents list. |
The size of the Core framework depends on the features included, so choose the one that suits your case the best to optimize the size of your application.
dependencies:
flutter_document_reader_core_fullrfid: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_full: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_ocrandmrz: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_mrz: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_barcode: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_fullauthrfid: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_barcodemrz: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_mrzrfid: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_doctype: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_ocrandmrzrfid: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_barcodemrzrfid: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_fullauth: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
dependencies:
flutter_document_reader_core_bounds: any
Features:
- Visual zone OCR
- Document type identification
- MRZ OCR
- Barcode recognition
- Document location
- Graphics cropping
- RFID chip processing
- Checking security features
Notes:
- Need to add the database
Info
If you are not sure yet which Core type to choose, consider the fullrfid one. You will be able to get back and change your decision at any moment.