ensemble_qr_scanner 1.2.54 copy "ensemble_qr_scanner: ^1.2.54" to clipboard
ensemble_qr_scanner: ^1.2.54 copied to clipboard

QR Code and Barcode scanner module for Ensemble Framework. Lightweight module with minimal dependencies.

Ensemble QR Scanner #

Lightweight QR Code and Barcode scanner module for Ensemble Framework.

Quick Setup #

cd starter
dart run scripts/modules/enable_qr_code.dart
flutter pub get
flutter run

Manual Installation #

  1. Add dependency to pubspec.yaml:
dependencies:
  ensemble_qr_scanner:
    git:
      url: https://github.com/EnsembleUI/ensemble.git
      ref: main
      path: modules/qr_scanner
  1. Update lib/generated/ensemble_modules.dart:
// Add import
import 'package:ensemble_qr_scanner/qr_code_scanner.dart';

// Set flag
static const useCamera = true;

// Register (inside useCamera block)
GetIt.I.registerSingleton<EnsembleQRCodeScanner>(
    EnsembleQRCodeScannerImpl.build(EnsembleQRCodeScannerController()));
  1. Add permissions:

Android (AndroidManifest.xml):

<uses-permission android:name="android.permission.CAMERA" />

iOS (Info.plist):

<key>NSCameraUsageDescription</key>
<string>Camera permission is required for QR code scanning</string>

Usage #

QRCodeScanner:
  id: scanner
  initialCamera: back
  formatsAllowed: [qrcode, barcode]
  cutOutHeight: 250
  cutOutWidth: 250
  cutOutBorderRadius: 12
  cutOutBorderColor: 0xFF00FF00
  onReceived: |
    //@code
    console.log("Scanned: " + event.data.data);

Properties #

Property Type Default
initialCamera String (back/front) back
formatsAllowed Array (qrcode, barcode) [qrcode]
cutOutHeight Integer 200
cutOutWidth Integer 200
cutOutBorderRadius Integer 0
cutOutBorderColor Color red

Methods #

  • flipCamera() - Switch front/back
  • toggleFlash() - Toggle flash
  • pauseCamera() - Pause scanning
  • resumeCamera() - Resume scanning

Events #

onReceived:

{
  format: "qrCode",      // Format name
  data: "https://...",   // Decoded string
  rawBytes: [...]        // Raw bytes
}

onInitialized: Triggered when ready onPermissionSet: Triggered on permission change

Module Comparison #

Feature qr_scanner camera face_camera
QR/Barcode
Photo/Video
Face detection
Size ~4KB ~400KB+ varies
Permissions Camera only Camera, Location, Mic Camera, Mic
Dependencies mobile_scanner geolocator, sensors face detection models

Face detection was moved out of ensemble_camera into the standalone ensemble_face_camera module. Using faceDetection: enabled: true in openCamera now logs a warning and falls back to the standard camera.

When to Use #

Use ensemble_qr_scanner:

  • Only need QR/barcode scanning
  • Want minimal app size
  • Don't need extra permissions

Use ensemble_camera:

  • Need photo/video capture
  • Need sensor/location features
  • (includes QR via re-export)

Use ensemble_face_camera:

  • Need real-time face detection and openFaceCamera

Migration from Camera Module #

Before:

dependencies:
  ensemble_camera: ^0.0.1

After:

dependencies:
  ensemble_qr_scanner: ^0.0.1

Code remains the same - just update dependency!

Supported Formats #

  • QR Code
  • Code 128, Code 39, Code 93
  • EAN-8, EAN-13
  • UPC-A, UPC-E
  • Codabar

License #

See LICENSE file.

0
likes
40
points
375
downloads

Documentation

Documentation

Publisher

verified publisherensembleui.com

Weekly Downloads

QR Code and Barcode scanner module for Ensemble Framework. Lightweight module with minimal dependencies.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#qr-code #barcode #scanner #ensemble

License

BSD-3-Clause (license)

Dependencies

ensemble, flutter, mobile_scanner

More

Packages that depend on ensemble_qr_scanner