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.

Known issues

AndroidX

Our plugin is not fully compatible with AndroidX yet. If you're using our plugin from an AndroidX app, you will need to first migrate our plugin to AndroidX locally (by using the Android Studio migration tool for example). This will be fixed once we publish an AndroidX version of our plugin.

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