Docutain SDK for Flutter

Preview

Flutter Docutain SDK for high quality, high performance document scanning and data extraction. Use the document scanner in various industries, e.g. scanning BOLs, invoice scan and much more.

What is it?

The Docutain SDK brings functionalities for automatic document scanning, data capture, image processing, OCR text recognition, intelligent data extraction, PDF creation and photo payment to your apps.

It works 100% offline, which ensures maximum data safety.

It contains individually licensable modules:

For more details visit our website https://sdk.Docutain.com

If you like to test the functionality without writing any lines of code, check out our Showcase Apps.

Usage

The following shows a minimum example to use the document scanner. For all available features and theming possibilities, please check out our documentation.

Initialize

In order to use any functionality of the SDK, you must initialize it first.

bool isDocutainPluginInitialized = await DocutainSdk.initSDK("<YOUR-LICENSE-KEY>");
if(!isDocutainPluginInitialized){
    //get the last error message
    String error = await DocutainSdk.getLastError();
    //implement handling to avoid accessing Docutain SDK when it is not initialized
}

For testing purposes, you can leave the license key empty. However, the SDK will stop working after 1 minute. You can get a free extended trial license on our website.

Start the scanner to scan documents

On iOS, make sure to add a camera usage description in the Info.plist. If you don't, the app will crash.

NSCameraUsageDescription - "In order to scan documents, you need to grant permission to access the camera."

To start the document scanner, provide a DocumentScannerConfiguration and alter it according to your needs. Then just call scanDocument and wait for the result. Check out the documentation for possible scan configurations.

var scanConfig = DocumentScannerConfiguration();
var result = await DocutainSdkUi.scanDocument(scanConfig);

Generate a PDF document

Once the user finished the scan, you can generate a PDF document out of the scanned pages. The PDF document will include the recognized text, making it searchable and selectable. Check out the documentation for more details.

File? pdfFile = await DocutainSdkDocument.writePDF(path, "testPDF");

Image Export

It is also possible to get the scanned pages as single image files. Check out the documentation for more details.

final pageCount = await DocutainSdkDocument.pageCount();
for (var i = 1; i <= pageCount; i++) {
    var fileReturn = await DocutainSdkDocument.writeImage(
        i, path, "Image$i.jpg");
}

Text Recognition

With a single line of code, you can get the recognized text of the scanned document or single pages. Check out the documentation for more details.

final text = await DocutainSdkDocumentDataReader.getText();

Data Extraction

It is also possible to run data extraction on the scans to extract certain values, like Address, Amount, IBAN, Date and more. Check out the documentation for more details.

final data = await DocutainSdkDocumentDataReader.analyze();

Photo Payment

Integrate Photo Payment into your banking app within minutes with just a few lines of code. It works 100% offline on device. No data at all is transfered to any external server or cloud service, ensuring 100% data protection.

Check out the documentation for more details.

// customize the photo payment process according to your needs
var paymentConfig = PhotoPaymentConfiguration();
var result = await DocutainSdkUi.startPhotoPayment(paymentConfig);
if (result != null) {
    if(result.isNotEmpty){
        // payment information has been extracted
        // result is a JSON string containing the information
        // extract the fields you need and pass it on to your payment sheet
    } else{
        // no data was extracted at all
        // Note: this case is only reachable, if you disabled the Empty Result Screen  
    }
} else {
    // user canceled scan process
}

Documentation of the Docutain SDK

The documentation includes everything you need to know to integrate the Docutain SDK into your Flutter application. If you prefer sample projects over documentation, check out our Docutain SDK Flutter sample app on Github to get a quick start on how to scan documents.

Changelog

All changes included in each version can be found here: Changelog

License and Support

The Docutain SDK is a commercial product and requires a paid license for production use. In order to get a trial license, please visit our website via https://sdk.docutain.com/TrialLicense to generate a trial license key.

If you need technical support of any kind, please contact us via support.sdk@Docutain.com.

Blog

Check out our blog articles on How to create a Flutter Document Scanner and How to create a Flutter Plugin from scratch.