flutter_mrz_scanner 1.0.0 flutter_mrz_scanner: ^1.0.0 copied to clipboard
Scans MRZ (Machine Readable Zone) from identity documents for iOS and Android.
flutter_mrz_scanner #
Scan MRZ (Machine Readable Zone) from identity documents (passport, id, visa) using iOS and Android. Heavily insipred by QKMRZScanner.
Supported formats: #
- TD1
- TD2
- TD3
- MRV-A
- MRV-B
Usage #
Import the package #
Add to pubspec.yaml
dependencies:
flutter_mrz_scanner: ^0.7.0
For iOS #
The plugin use native view, which is not yet supported by default. To make it work add the following code to Info.plist
:
<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
The plugin uses the device camera, so do not forget to provide the NSCameraUsageDescription
. You may specify it in Info.plist
like that:
<key>NSCameraUsageDescription</key>
<string>May I scan a MRZ please?</string>
Set iOS deployment target to 12.
For Android #
Add
<uses-permission android:name="android.permission.CAMERA" />
to AndroidManifest.xml
Use the widget #
...
MRZScanner(
onParsed: (result) {
print(result.documentType);
print(result.countryCode);
print(result.surnames);
print(result.givenNames);
print(result.documentNumber);
print(result.nationalityCountryCode);
print(result.birthDate);
print(result.sex);
print(result.expiryDate);
print(result.personalNumber);
print(result.personalNumber2);
},
onError: (error) => print(error),
),
...
Refer to example
project for the complete app sample.
Acknowledgements #
- Anna Domashych for helping with mrz_parser implementation in Dart
- Anton Derevyanko for hours of Android-related discussions
- Mattijah for beautiful QKMRZScanner library
License #
flutter_mrz_scanner
is released under a MIT License. See LICENSE
for details.