flutter_barcode_sdk
A flutter plugin project for Dynamsoft Barcode Reader SDK.
What You Should Know
Configuration
Android
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle
file.
minSdkVersion 21
Desktop
Install CMake
and platform-specific C++ compiler
.
Web
Include <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
to index.html
.
Try Example
Mobile(Android)
The example allows users to scan barcodes via the camera video stream in real-time or read barcodes by taking a picture.
cd example
flutter run -d <device>
Video Scan
Picture Scan
Windows & Linux Desktop
Input a valid image path for barcode decoding.
Windows
cd example
flutter run -d windows
Linux
cd example
flutter run -d linux
Web Browser
cd example
flutter run -d chrome
Barcode Reader
Barcode Scanner
Currently Supported Platforms
- Android
- Windows
- Linux
- Web
API Table
Methods | Android | iOS | Windows | Linux | Web |
---|---|---|---|---|---|
Future<void> setLicense(String license) async |
:x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
Future<List<BarcodeResult>> decodeFile(String filename) async |
:heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Future<List<BarcodeResult>> decodeFileBytes(Uint8List bytes) async |
:heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
Future<List<BarcodeResult>> decodeImageBuffer(Uint8List bytes, int width, int height, int stride, int format) async |
:heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
Future<void> decodeVideo(Function callback) async |
:x: | :x: | :x: | :x: | :heavy_check_mark: |
Supported Barcode Symbologies
-
Linear Barcodes (1D)
- Code 39 (including Code 39 Extended)
- Code 93
- Code 128
- Codabar
- Interleaved 2 of 5
- EAN-8
- EAN-13
- UPC-A
- UPC-E
- Industrial 2 of 5
-
2D Barcodes
- QR Code (including Micro QR Code and Model 1)
- Data Matrix
- PDF417 (including Micro PDF417)
- Aztec Code
- MaxiCode (mode 2-5)
- DotCode
-
Patch Code
-
GS1 Composite Code
-
GS1 DataBar
- Omnidirectional,
- Truncated, Stacked, Stacked
- Omnidirectional, Limited,
- Expanded, Expanded Stacked
-
Postal Codes
- USPS Intelligent Mail
- Postnet
- Planet
- Australian Post
- UK Royal Mail
Usage
-
Set a license key:
_barcodeReader.setLicense('LICENSE-KEY');
-
Read barcodes from an image file:
List<BarcodeResult> results = await _barcodeReader.decodeFile(image-path);
-
Read barcodes from image file bytes:
Uint8List bytes = await File(image-path).readAsBytes(); List<BarcodeResult> results = await _barcodeReader.decodeFileBytes(bytes);
-
Read barcodes from video stream CameraImage:
CameraImage availableImage; int format = FlutterBarcodeSdk.IF_UNKNOWN; switch (availableImage.format.group) { case ImageFormatGroup.yuv420: format = FlutterBarcodeSdk.IF_YUV420; break; case ImageFormatGroup.bgra8888: format = FlutterBarcodeSdk.IF_BRGA8888; break; default: format = FlutterBarcodeSdk.IF_UNKNOWN; } List<BarcodeResult> results = _barcodeReader.decodeImageBuffer( availableImage.planes[0].bytes, availableImage.width, availableImage.height, availableImage.planes[0].bytesPerRow, format);
-
Read barcodes from web browser video stream:
_barcodeReader.decodeVideo( (results) => {updateResults(results)});
How to Use the License Key
Mobile
No license required. Instead, you need to get an private organization ID and update the plugin code:
parameters.organizationID = "200001";
By default, the public organization ID 200001
authorize developers to use the SDK for 7 days.
Desktop
Invoke the setLicense()
method:
_barcodeReader.setLicense('LICENSE-KEY');
Web
Update the PRODUCT-KEYS
:
<script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
License Agreement
https://www.dynamsoft.com/Products/barcode-reader-license-agreement.aspx
Contact Us
TODO
iOS