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 GSSDKScannerUI library which provides a all-in-one scanner module with simple configurable input.

  • Automatic document detection
  • Document perspective correction
  • Image enhancement with 4 different modes (Grayscale, Color, Black & white, Photo)
  • Batch scanning of several pages in row

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 licence or for any question regarding the SDK, please contact us at sdk@thegrizzlylabs.com.

Getting started

Follow the install steps from https://pub.dev/packages/flutter_genius_scan#-installing-tab-

Additional steps on Android

  • To your app's android/build.gradle file, add the flutter-genius-scan library dependency:
allprojects {
    repositories {
        ...
        flatDir {
            dirs "<path to flutter SDK>/.pub-cache/hosted/pub.dartlang.org/flutter_genius_scan-<VERSION (eg 0.0.3)>/android/libs"
        }
    }
}
  • To your app android/app/build.gradle, change minSdkVersion to 19.

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:

FlutterGeniusScan.setLicenceKey('REPLACE_WITH_YOUR_LICENCE_KEY')

Start the scanner module

FlutterGeniusScan.scanWithConfiguration(configuration)
    .then((result) {
        // Here you can get the pdf file and the scans from the result
        // object.
      }, onError: (error) => displayError(context, error)
    );

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

FAQ

What if I get a validation error from App Store Connect?

You must remove the x86_64 and i386 slices before submitting your application to the App Store. They are only used for the iOS smiulator and iTunes rejects any binary that contains non-ARM slices.

They can stripped out with a script like this one.

What should I do if my license is invalid?

Make sure you have an ongoing contract with us. Contact us at sdk@thegrizzlylabs.com for any information.

Libraries

flutter_genius_scan