doc_scanner
A new Flutter FFI plugin to analyse Pakistani documents like IdCard, driving license, passport.
Getting Started
This project is a starting point for a Flutter
FFI plugin,
a specialised package that includes native code directly invoked with Dart FFI.
Project structure
This template uses the following structure:
-
src
: Contains the native source code, and a CmakeFile.txt file for building
that source code into a dynamic library. -
lib
: Contains the Dart code that defines the API of the plugin, and which
calls into the native code usingdart:ffi
.
Binding to native code
To use the native code, bindings in Dart are needed.
To avoid writing these by hand, they are generated from the header file
(src/doc_scanner.h
) by package:ffigen
.
Regenerate the bindings by running flutter pub run ffigen --config ffigen.yaml
.
Invoking native code
Very short-running native functions can be directly invoked from any isolate.
For example, see sum
in lib/doc_scanner.dart
.
Longer-running functions should be invoked on a helper isolate to avoid
dropping frames in Flutter applications.
For example, see sumAsync
in lib/doc_scanner.dart
.
Flutter help
For help getting started with Flutter, view our
online documentation, which offers tutorials,
samples, guidance on mobile development, and a full API reference.
Libraries
- card-processor/process_atm_card
- card-processor/process_driving_licence
- card-processor/process_idcard
- card-processor/process_passport
- card_detector
- compare_card
- coordinates_translator
- doc_scanner
- doc_scanner_bindings_generated
- face_detector_painter
- models/atm_card_model
- models/card_models
- models/driving_licence_ model
- models/id_card_model
- models/passport_model
- segmentation_painter
- tflite_utils
- utils