cunning_document_scanner_plus 1.0.3 copy "cunning_document_scanner_plus: ^1.0.3" to clipboard
cunning_document_scanner_plus: ^1.0.3 copied to clipboard

A document scanner plugin for flutter. Scan and crop automatically on iOS and Android.

Cunning Document Scanner #

This package is built on top of cunning_document_scanner, with additional enhancements. Specifically, we’ve added a scanner mode that enables users to add or remove image filters, offering greater flexibility and control over the scanned output.

Key Features #

  • Fast and easy document scanning.
  • Conversion of document images into digital files.
  • Support for both Android and iOS platforms.
  • Minimum requirements: API 21 on Android, iOS 13 on iOS.
  • Limit the number of scannable files on Android.
  • Allows selection of images from the gallery on Android.

A state of the art document scanner with automatic cropping function.

Project Setup #

Follow the steps below to set up your Flutter project on Android and iOS.

Android #

Minimum Version Configuration

Ensure you meet the minimum version requirements to run the application on Android devices. In the android/app/build.gradle file, verify that minSdkVersion is at least 21:

android {
    ...
    defaultConfig {
        ...
        minSdkVersion 21
        ...
    }
    ...
}

IOS #

Minimum Version Configuration

Ensure you meet the minimum version requirements to run the application on iOS devices. In the ios/Podfile file, make sure the iOS platform version is at least 13.0:

platform :ios, '13.0'

Permission Configuration

  1. Add a String property to the app's Info.plist file with the key NSCameraUsageDescription and the value as the description for why your app needs camera access.

  2. The permission_handler dependency used by cunning_document_scanner use macros to control whether a permission is enabled. Add the following to your Podfile file:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        ... # Here are some configurations automatically generated by flutter
    
        # Start of the permission_handler configuration
        target.build_configurations.each do |config|
    
          # You can enable the permissions needed here. For example to enable camera
          # permission, just remove the `#` character in front so it looks like this:
          #
          # ## dart: PermissionGroup.camera
          # 'PERMISSION_CAMERA=1'
          #
          #  Preprocessor definitions can be found at: https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h
          config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
            '$(inherited)',
    
            ## dart: PermissionGroup.camera
            'PERMISSION_CAMERA=1',
          ]
    
        end
        # End of the permission_handler configuration
      end
    end
    

How to use ? #

The easiest way to get a list of images is:

    final imagesPath = await CunningDocumentScanner.getPictures()

Android Specific #

There are some features in Android that allow you to adjust the scanner that will be ignored in iOS:

    final imagesPath = await CunningDocumentScanner.getPictures(
      noOfPages: 1, // Limit the number of pages to 1
      isGalleryImportAllowed, // Allow the user to also pick an image from his gallery
      mode: ScannerMode.base, // Change Scanner mode 
   )
   enum ScannerMode {
     full,
     filters,
     base;
   }

Installation #

Before you begin, make sure you have Flutter and Dart installed on your system. You can follow the Flutter installation guide for more information.

  1. Clone this repository:

    git clone https://github.com/jachzen/cunning_document_scanner.git
    
  2. Navigate to the project directory:

    cd cunning_document_scanner
    
  3. Install dependencies:

    flutter pub get
    
  4. Run the application:

    flutter run
    

Contributions #

Contributions are welcome. If you want to contribute to the development of Cunning Document Scanner, follow these steps:

  1. Fork the repository.
  2. Create a branch for your contribution: git checkout -b your_feature
  3. Make your changes and commit: git commit -m 'Add a new feature'
  4. Push the branch: git push origin your_feature
  5. Open a pull request on GitHub.

Issues and Support #

If you encounter any issues or have questions, please open an issue. We're here to help.

License #

This project is licensed under the MIT License. See the LICENSE file for more details.

0
likes
145
points
159
downloads

Publisher

unverified uploader

Weekly Downloads

A document scanner plugin for flutter. Scan and crop automatically on iOS and Android.

Documentation

API reference

License

MIT (license)

Dependencies

flutter, permission_handler, permission_handler_platform_interface, plugin_platform_interface

More

Packages that depend on cunning_document_scanner_plus

Packages that implement cunning_document_scanner_plus