Scanbot Flutter Document Scanner SDK and Data Capture Modules

Table of contents

About the Scanbot SDK

The Scanbot SDK provides high-level APIs that let you integrate high-quality document scanning and data extraction into your mobile apps and websites. It runs on all common mobile devices entirely offline, without transmitting data to our or third-party servers.

With our Ready-To-Use UI components, you can integrate the Scanbot SDK into your Flutter app in less than an hour.

💡 For more details about the Scanbot Document Scanner SDK and Data Capture Modules, please check out our documentation or see our example app.

Changelog

For a detailed list of changes in each version, see the changelog.

How to use the SDK

Requirements

Check out our documentation for a full overview of our SDK's requirements.

Install steps

To add and install the Scanbot Document Scanner SDK package, use the following command in your terminal or through your IDE:

flutter pub add scanbot_sdk

Camera permissions

Our SDK needs camera access to scan from a live camera stream.

Android

Add camera permission to your android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
iOS

Add camera permission to ios/{projectName}/Info.plist inside the

<key>NSCameraUsageDescription</key>
<string>Camera permission is needed to perform scanning</string>

SDK initialization

Initialize the SDK before using any features, ideally when your app launches.

Make sure to add the following import to the top of the file:

import 'package:scanbot_sdk/scanbot_sdk.dart';

To initialize the SDK, use the initScanbotSdk function:

var config = ScanbotSdkConfig(
 licenseKey: "<YOUR_SCANBOT_SDK_LICENSE_KEY>",
 loggingEnabled: true,
);

ScanbotSdk.initScanbotSdk(config);

💡 You can test the SDK without a license key for 60 seconds per app session. Need longer testing? Get your free trial license key.

Implementing the document scanner

With our Ready-To-Use UI (RTU UI) components, you can start the document scanner screen with just a few lines of code:

import 'package:scanbot_sdk/scanbot_sdk_ui_v2.dart';

void startScanning() async {

   // Create the default configuration object.
   var configuration = DocumentScanningFlow();
   var documentResult = await ScanbotSdkUiV2.startDocumentScanner(configuration);
  
   // Handle the document if the status is 'OK'
   if(documentResult.status == OperationStatus.OK) {
   }
}

Note: This example demonstrates the minimal implementation. For more configuration options or to learn how to integrate our data capture modules, visit our full documentation.

Overview of the Scanbot SDK

Document Scanner SDK

The Scanbot Flutter Document Scanner SDK includes these key features:

  • User guidance: Ease of use is crucial for large user bases. Our on-screen user guidance helps even non-tech-savvy users create perfect scans under any conditions, even in poor lighting conditions. This feature ensures that documents are properly framed and aligned before the scan is taken, ensuring the best quality of the captured image.

  • Automatic capture: The SDK automatically captures scans when the device camera is optimally positioned over the document, minimizing blurry or incomplete scans.

  • Automatic cropping: Our SDK applies perspective correction and crops scanned documents automatically, ensuring properly cropped images every time.

  • Custom image filters: Transform captured images to meet your specific requirements with custom filters, including several color, grayscale, and binarization options.

  • Document Quality Analyzer: Automatically rates scanned page quality from "very poor" to "excellent." If quality is low, it prompts users to rescan.

  • Export formats: Export digitized documents in several formats (JPG, PDF, TIFF, and PNG).

User guidance Automatic capture Automatic cropping

Data Capture Modules

The Scanbot SDK Data Capture Modules allow you to extract data from structured documents and integrate OCR text recognition. These modules include:

MRZ Scanner

Quickly extract data from machine-readable zones on identity documents. It captures all important MRZ data from IDs and passports and returns it as simple key-value pairs—faster and more accurate than manual data entry.

Check Scanner (MICR)

Extract data from international paper checks, capturing check numbers, routing numbers, and account numbers from MICR codes. This simplifies workflows and reduces errors that frustrate customers and employees.

Text Pattern Scanner

Our Text Pattern Scanner allows quick and accurate extraction of single-line data. It captures information based on customizable patterns tailored to your specific use case. This replaces error-prone manual data entry with automatic capture.

VIN Scanner

The VIN scanner enables instant capture of vehicle identification numbers (VINs) from trucks or car doors. It uses OCR to convert the image of the VIN code into structured data for backend processing. This module integrates into mobile or web-based fleet management applications, enabling you to replace error-prone manual entry with fast, reliable data extraction.

Document Data Extractor

Identify and crop various standardized document types, including German ID cards, passports, driver's licenses, residence permits, and the EHIC. It uses the Scanbot OCR engine for accurate data field recognition without needing additional OCR language files.

MRZ Scanner VIN Scanner Check Scanner

Additional information

Trial license

The Scanbot SDK runs for one minute per session without a license. After that, all features and UI components stop working.

To try the Flutter Document Scanner SDK without the one-minute limit, you can request a free, no-strings-attached 7-day trial license.

Our pricing model is simple: Unlimited document scanning for a flat annual license fee, full support included. There are no tiers, usage charges, or extra fees. Contact our team for your quote.

Free developer support

Need help integrating our Document Scanner SDK in your Flutter project? We offer free developer support via Slack, MS Teams, or email.

As a customer, you also get access to a dedicated support Slack or Microsoft Teams channel to talk directly to your Customer Success Manager and our engineers.

Guides and tutorials

Want to integrate document scanning features into your app? You can integrate the Scanbot Flutter Document Scanner plugin in just minutes.

💡 Check out our developer blog for a collection of in-depth tutorials, use cases, and best practices.

Libraries

document_api
scanbot_sdk
scanbot_sdk_ui
scanbot_sdk_ui_v2

Classic Components

classic_components Classic Components
A library providing classic components for barcode and document scanning.

Core

core Core

DataCapture RTU UI V2

rtu_data_capture DataCapture RTU UI V2

RTU UI Common V2

rtu_ui_common RTU UI Common V2
A library providing common configurations and utilities for RTU UI V2.

RTU UI V2

rtu_ui_barcode RTU UI V2
A library for barcode-related functionalities in RTU UI V2.
rtu_ui_document RTU UI V2
A library for document-related functionalities in RTU UI V2.