flutter_genius_scan 4.0.0-beta3 flutter_genius_scan: ^4.0.0-beta3 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 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 to19
.
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')
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 #
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.
How do I get the UI translated to another language? #
The plugin supports a wide variety of languages:
- English (default)
- Arabic
- Danish
- German
- Spanish
- French
- Hebrew
- Indonesian
- Italian
- Japanese
- Korean
- Dutch
- Portuguese
- Russian
- Swedish
- Turkish
- Vietnamese
- Chinese (Simplified)
- Chinese (Traditional)
The device's locale determines the languages used by the plugin for all strings: user guidance, menus, dialogs…
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. Contact us at sdk@thegrizzlylabs.com for any information regarding the procurement and replacement of license keys.