flutter_document_scan_sdk 1.1.1 copy "flutter_document_scan_sdk: ^1.1.1" to clipboard
flutter_document_scan_sdk: ^1.1.1 copied to clipboard

A Flutter wrapper for Dynamsoft Document Normalizer, providing API for document edge detection and document rectification.

flutter_document_scan_sdk #

The Flutter plugin is a wrapper for Dynamsoft's Document Normalizer SDK. It enables you to build document rectification applications for Windows, Linux, web, Android and iOS.

Try Document Rectification Example #

Desktop: Windows & Linux #

Windows

cd example
flutter run -d windows

Flutter windows document edge detection and normalization

Linux

cd example
flutter run -d linux

Flutter Linux document edge detection and normalization

Web #

cd example
flutter run -d chrome

Flutter web document edge detection and normalization

Mobile: Android & iOS #

cd example
flutter run 

Flutter document rectification for Android and iOS

Getting a License Key for Dynamsoft Document Normalizer #

Supported Platforms #

  • Web
  • Windows
  • Linux
  • Android
  • iOS

Installation #

Add flutter_document_scan_sdk as a dependency in your pubspec.yaml file.

dependencies:
    ...
    flutter_document_scan_sdk:

One More Step for Web #

Include the JavaScript library of Dynamsoft Document Normalizer in your index.html file:

<script src="https://cdn.jsdelivr.net/npm/dynamsoft-document-normalizer@1.0.12/dist/ddn.js"></script>

API Compatibility #

Methods Android iOS Windows Linux Web
Future<int?> init(String key) ✔️ ✔️ ✔️ ✔️ ✔️
Future<List<DocumentResult>?> detectFile(String file) ✔️ ✔️ ✔️ ✔️ ✔️
Future<NormalizedImage?> normalizeFile(String file, dynamic points) ✔️ ✔️ ✔️ ✔️ ✔️
Future<int?> setParameters(String params) ✔️ ✔️ ✔️ ✔️ ✔️
Future<String?> getParameters() ✔️ ✔️ ✔️ ✔️ ✔️
Future<List<DocumentResult>?> detectBuffer(Uint8List bytes, int width, int height, int stride, int format) ✔️ ✔️ ✔️ ✔️ ✔️
Future<NormalizedImage?> normalizeBuffer(Uint8List bytes, int width, int height, int stride, int format, dynamic points) ✔️ ✔️ ✔️ ✔️ ✔️

Usage #

  • Initialize the document rectification SDK with a valid license key:

    final _flutterDocumentScanSdkPlugin = FlutterDocumentScanSdk();
    await _flutterDocumentScanSdkPlugin.init(
       "DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==");
    
    await _flutterDocumentScanSdkPlugin.setParameters(Template.grayscale);
    
  • Do document edge detection and return quadrilaterals:

    List<DocumentResult>? detectionResults =
            await _flutterDocumentScanSdkPlugin
                .detectFile(file);
    
  • Detect document edges from a buffer:

    List<DocumentResult>? detectionResults =
            await _flutterDocumentScanSdkPlugin
                .detectBuffer(bytes, width, height, stride, format);
    
  • Rectify the document based on document corners:

    NormalizedImage? normalizedImage = await _flutterDocumentScanSdkPlugin.normalizeFile(
        file, detectionResults[0].points);
    
  • Rectify the document based on document corners from a buffer:

    NormalizedImage? normalizedImage = await _flutterDocumentScanSdkPlugin.normalizeBuffer(
        bytes, width, height, stride, format, detectionResults[0].points);
    
  • Save the rectified document image to a file:

    if (normalizedUiImage != null) {
        const String mimeType = 'image/png';
        ByteData? data = await normalizedUiImage!
            .toByteData(format: ui.ImageByteFormat.png);
        if (data != null) {
            final XFile imageFile = XFile.fromData(
                data.buffer.asUint8List(),
                mimeType: mimeType,
            );
            await imageFile.saveTo(path);
        }
    }
    
9
likes
120
pub points
73%
popularity

Publisher

verified publisheryushulx.me

A Flutter wrapper for Dynamsoft Document Normalizer, providing API for document edge detection and document rectification.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, flutter_web_plugins, js, plugin_platform_interface

More

Packages that depend on flutter_document_scan_sdk