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 3 different modes (Black & white, Color, 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 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

Dart

VM

dart:ffi
Foreign Function Interface for interoperability with the C programming language. [...]

Web

dart:html
HTML elements and other resources for web-based applications that need to interact with the browser and the DOM (Document Object Model). [...]
dart:js
Low-level support for interoperating with JavaScript. [...]
dart:js_util
Utility methods to efficiently manipulate typed JSInterop objects in cases where the name to call is not known at runtime. You should only use these methods when the same effect cannot be achieved with @JS annotations. These methods would be extension methods on JSObject if Dart supported extension methods.