Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@docutain/capacitor-plugin-docutain-sdk

Docutain282SEE LICENSE IN LICENSE6.0.0TypeScript support: included

Capacitor plugin of the Docutain Document Scanner SDK for Android and iOS. High quality document scanning, data extraction, text recognition and PDF creation for your apps. Easily scan documents in your app.

capacitor, plugin, native, scanner app, mobile scanner, scanner, docutain sdk, docutain, scanner sdk, scanning sdk, document scanner sdk, scan sdk, jpg, tiff, image processing, image enhancement, image cropping, edge detection, document detection, image filter, data capture, data extraction, mobile, camera, cropping, app, pdf, perspective correction, document capture, text recognition, document scanning, image optimization, scan, scanning, document scanner, ocr, text recognition, data

readme

Docutain SDK for Capacitor

Preview

Capacitor 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 Docutain SDK?

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.

Plugin Versions

Capacitor version Plugin version
6.x 6.x
5.x 1.x

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.

try{
    await DocutainSDK.initSDK({licenseKey: "<YOUR-LICENSE-KEY>"})
} catch (error) {
    //init of Docutain SDK failed, get the last error message
    console.error(error);
    //your logic to deactivate access to SDK functionality
}

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, you only have to call DocutainSDK.startDocumentScanner and wait for it to return.

Check out the documentation for possible scan configurations.

try{
    await DocutainSDK.startDocumentScanner({
        //customize the scanner config according to your needs
    });
} catch (error) {
    if ((error as { code?: string })?.code === 'CANCELED') {
        //user canceled scan process
        console.log(`user canceled`);
    } else {
        console.error(error);
    }
}

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.

try{    
    const pdfUri = (await DocutainSDK.writePDF({
        fileUri: destinationUri,
        overWrite: true,
    })).fileUri 
} catch (error) {
    console.error(error);
}  

Image Export

It is also possible to get the scanned pages as single image files.

Check out the documentation for more details.

try{
    const pageCount = (await DocutainSDK.pageCount()).count;
    for(let i = 1; i <= pageCount; i++){
        const imageUri = (await DocutainSDK.writeImage({
            pageNumber: i,
            fileUri: destinationUri
        })).fileUri
    }
}catch (error) {
    console.error(error);
} 

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.

try{
    const text = (await DocutainSDK.getText()).text
}catch (error) {
    console.error(error);
} 

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.

try{
    const analyzeData = (await DocutainSDK.analyze()).data;
}catch (error) {
    console.error(error);
} 

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.

try{
    const result = await DocutainSDK.startPhotoPayment({
        //customize the photo payment process according to your needs
    });
    if(result.data !== ""){
        //payment information has been extracted
        //result.data 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
    }
} catch (error) {
    if ((error as { code?: string })?.code === 'CANCELED') {
        //user canceled scan process
        console.log(`user canceled`);
    } else {
        console.error(error);
    }
}    

Documentation of the Docutain SDK

The documentation includes everything you need to know to integrate the Docutain SDK into your Capacitor application. If you prefer sample projects over documentation, check out our Docutain SDK Capacitor sample app on Github.

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.