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 using dart: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.