flutter_genius_scan 4.19.0 icon indicating copy to clipboard operation
flutter_genius_scan: ^4.19.0 copied to clipboard

Flutter plugin for the Genius Scan SDK for iOS and Android. It allows scanning paper documents using a smartphone camera.

Genius Scan SDK for Flutter #

Description #

This Flutter plugin allows you to access the Genius Scan SDK core features from a Flutter application. The plugin relies on the ScanFlow module which provides a all-in-one scanner module with simple configurable input.

  • Automatic document detection
  • Document perspective correction
  • Image enhancement with 4 different modes (Black & white, Monochrome, Color, Photo)
  • Batch scanning of several pages in row
  • OCR to extract raw text from images and generate PDF with invisible text layer

Licence #

This component is based on the Genius Scan SDK for which you need to setup a licence. You can already try the "demo" version for free by not setting a licence key, the only limitation being that the app will exit after 60 seconds.

To buy a license:

  1. Sign up to our developer console
  2. Submit a quote request for each application

You can learn more about licensing on our website and contact us at sdk@geniusscan.com for further questions.

Getting started #

Follow the install steps from https://pub.dev/packages/flutter_genius_scan/install

Additional steps on Android #

  • To your app android/app/build.gradle, change minSdkVersion to 21.

Additional steps on iOS #

  • Add the required permission to your Info.plist:
NSCameraUsageDescription - "We use the camera for <provide a good reason why you are using the camera>"
  • In your Podfile, add the following line:
platform :ios, '11.0'

Usage #

Set the licence key #

Initialize the SDK with a valid licence key:


setLicenseKey returns a promise that is resolved if the licence key is valid and rejected if it is not. Note that, for testing purpose, you can also use the plugin without a licence key, but it will only work for 60 seconds.

It is recommended to show a message to users asking them to update the application in case the license has expired.

Start the scanner module #

var result = await FlutterGeniusScan.scanWithConfiguration(configuration);

See the API doc for the options supported in the configuration object and for the result structure.

(Optional) Generate a PDF document from multiple pages #

If you'd like to rearrange the pages returned by the ScanFlow or add some more pages, you can do so and generate a PDF document from these pages:

await FlutterGeniusScan.generateDocument(configuration)

See the API doc for the options supported in the configuration object.


How do I get the UI translated to another language? #

The device's locale determines the languages used by the plugin for all strings: user guidance, menus, dialogs…

The plugin supports a wide variety of languages: English (default), Arabic, Chinese (Simplified), Chinese (Traditional), Danish, Dutch, French, German, Hebrew, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Swedish, Turkish, Vietnamese.

NB: iOS applications must be localized in XCode by adding each language to the project.

What should I do if my license is invalid? #

Make sure that the license key is correct, that is has not expired, and that it is used with the App ID it was generated for. To learn more about the procurement and replacement of license keys, refer to the Licensing FAQ.

Troubleshooting #

Refer to the troubleshooting guides of the native libraries to resolve common configuration and build problems:

pub points


verified publisher iconthegrizzlylabs.com

Flutter plugin for the Genius Scan SDK for iOS and Android. It allows scanning paper documents using a smartphone camera.



API reference


Icon for licenses.unknown (LICENSE)




Packages that depend on flutter_genius_scan