docscan 1.1.6 copy "docscan: ^1.1.6" to clipboard
docscan: ^1.1.6 copied to clipboard

A flutter plugin to detect edges of objects, scan paper, detect corner, detect rectangle. It allows cropping of the detected object image and returns the path of the cropped image.

DocScan #

This Flutter plugin allows users to crop and rotate documents with ease. The plugin features a customizable cropping widget that enables users to select a rectangular area of an image and crop it. Additionally, users can rotate the image and apply a scan effect to create a scanned document look. This plugin is suitable for developers looking to add document scanning and cropping functionality to their Flutter applications.

Usage #

This Flutter plugin can be used to add document scanning and cropping functionality to a wide variety of Flutter applications. For example, it could be used in a document management app to allow users to scan and crop documents before saving them. It could also be used in a finance app to allow users to scan and crop receipts for expense tracking. Additionally, this plugin could be used in a social media app to allow users to crop and rotate photos before sharing them with their friends. Overall, the usage of this plugin is limited only by the developer's imagination and the specific needs of the application.

iOS #

iOS 10.0 or higher is needed to use the plugin. If compiling for any version lower than 10.0 make sure to check the iOS version before using the plugin. Change the minimum platform version to 10 (or higher) in your ios/Podfile file.

Add below permission to the ios/Runner/Info.plist:

Or in text format add the key:

<key>NSCameraUsageDescription</key>
<string>Can I use the camera please?</string>

** If you face any issue with the permission for newer ios versions, then add the followings to your ios/Runner/Info.plist file:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # Add below code
    target.build_configurations.each do |config|
       # Here are some configurations automatically generated by flutter
       # You can remove unused permissions here
       # for more information: https://github.com/BaseflowIT/flutter-permission-handler/blob/develop/permission_handler/ios/Classes/PermissionHandlerEnums.h
       # e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'
       config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
         '$(inherited)',
         ## dart: PermissionGroup.camera
         'PERMISSION_CAMERA=1',
       ]
     end
     # finish code
  end
end

Android #

The plugin code is written in kotlin 1.5.31 so the same has to be set to the android project of yours for compilation. Change the kotlin_version to 1.5.31 in your android/build.gradle file.

ext.kotlin_version = '1.8.0'

Change the minimum Android SDK version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

Add dependency #

Please check the latest version before installation.

dependencies:
  flutter:
    sdk: flutter
  path_provider: ^2.0.13
  permission_handler: ^11.1.0
  path: ^1.8.2

Imports to use #

import 'package:docscan/docscan.dart';

// Check permissions and request its
bool isCameraGranted = await Permission.camera.request().isGranted;
if (!isCameraGranted) {
    isCameraGranted = await Permission.camera.request() == PermissionStatus.granted;
}
if (!isCameraGranted) {
    // Have not permission to camera
    return;
}
// Use below code for live camera.
try {
      //Make sure to await the call to scan document
      List<String>? imgPaths = await DocScan.scanDocument();
      // If the widget was removed from the tree while the asynchronous platform
      // message was in flight, we want to discard the reply rather than calling
      // setState to update our non-existent appearance.
      if (!mounted) return;
      if (imgPaths == null || imgPaths.isEmpty) {
        return;
      }
      setState(() {
        _imagePath = imgPaths[0];
      });
    } catch (e) {
      print(e);
    }

Acknowledgements #

This plugin is based on the work of the following projects: scan_document, cunning_document_scanner

Author #

Md Zuhabul Islam

Maintainer #

Hridoy

#

Juwel

Publisher #

CrackTech Limited

9
likes
120
pub points
63%
popularity

Publisher

verified publishercracktech.org

A flutter plugin to detect edges of objects, scan paper, detect corner, detect rectangle. It allows cropping of the detected object image and returns the path of the cropped image.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

flutter, path, path_provider, permission_handler

More

Packages that depend on docscan