hugobrancowb / barcode_bill_scanner

Barcode Bill Scanner aims to be used by brazilian apps willing to get a readable code from a horizontal barcode, mainly from bills.
https://pub.dev/packages/barcode_bill_scanner
8 stars 5 forks source link
barcode flutter hacktoberfest

Barcode Bill Scanner

Barcode scanner build for Flutter.

Barcode Bill Scanner aims to be used by brazilian apps willing to get a readable code from a horizontal barcode, mainly from bills. Brazilian's pattern for barcode is defined by FEBRABAN, which has a couple of rules for transforming a regular 44-length code into 47~48 character long.

Our package converts the barcode by default to FEBRABAN's format but can easily be turned off if necessary.

How to use

  @override
  Widget build(BuildContext context) {
    return BarcodeBillScanner(
      onCancelLabel: "You can set a message to cancel an action",
      onSuccess: (String value) async {
        setState(() => barcode = value);
      },
      onCancel: () {
        setState(() => barcode = null);
      },
    );
  }

Requirements

iOS - Minimum iOS Deployment Target: 10.0 - Xcode 12 or newer - Swift 5 - ML Kit only supports 64-bit architectures (x86_64 and arm64). Check this [list](https://developer.apple.com/support/required-device-capabilities/) to see if your device has the required device capabilities. Since ML Kit does not support 32-bit architectures (i386 and armv7) ([Read mode](https://developers.google.com/ml-kit/migration/ios)), you need to exclude amrv7 architectures in Xcode in order to run `flutter build ios` or `flutter build ipa`. Go to Project > Runner > Building Settings > Excluded Architectures > Any SDK > armv7 ![](https://github.com/bharat-biradar/Google-Ml-Kit-plugin/blob/master/ima/build_settings_01.png) Then your Podfile should look like this: ``` # add this line: $iOSVersion = '10.0' post_install do |installer| # add these lines: installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion end installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # add these lines: target.build_configurations.each do |config| if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']) config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion end end end end ```
Android - minSdkVersion: 21 - targetSdkVersion: 29