ensemble_qr_scanner 1.2.55 copy "ensemble_qr_scanner: ^1.2.55" to clipboard
ensemble_qr_scanner: ^1.2.55 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
140
points
420
downloads

Documentation

Documentation
API reference

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