GithubHelp home page GithubHelp logo

tannguyen3489 / cunning_document_scanner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jachzen/cunning_document_scanner

0.0 0.0 0.0 189 KB

License: MIT License

Ruby 4.05% Objective-C 1.05% Kotlin 81.61% Dart 9.46% Swift 3.83%

cunning_document_scanner's Introduction

Cunning Document Scanner

Cunning Document Scanner is a Flutter-based document scanner application that enables you to capture images of paper documents and convert them into digital files effortlessly. This application is designed to run on Android and iOS devices with minimum API levels of 21 and 13, respectively.

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.

    NSCameraUsageDescription Camera Permission Description

  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
   )

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.

cunning_document_scanner's People

Contributors

vicajilau avatar jachzen avatar dependabot[bot] avatar leonebacciu avatar nilotpalkapri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.