Loading...
Loading...
Implements Syncfusion Flutter Barcode Generator (SfBarcodeGenerator) for generating 1D and 2D barcodes in Flutter apps. Use when working with QR codes, Data Matrix, Code128, EAN, UPC, or other machine-readable barcode formats. This skill covers barcode types, customization, sizing, text display, and integration into product labels, ticketing, or inventory systems.
npx skill4agent add syncfusion/flutter-ui-components-skills syncfusion-flutter-barcode-generator| Barcode Type | Character Support | Typical Use Cases |
|---|---|---|
| Codabar | Numeric + special chars (-, :, /, +) | Libraries, blood banks, shipping |
| Code39 | Alphanumeric (uppercase) + symbols | Automotive, defense, healthcare |
| Code39Extended | Full ASCII (all 128 characters) | Extended character encoding |
| Code93 | Alphanumeric + symbols | Compact encoding, logistics |
| Code128 | Full ASCII (automatic mode) | Most versatile, shipping, packaging |
| Code128A | ASCII 0-95 (uppercase + control) | Control character encoding |
| Code128B | ASCII 32-127 (upper + lowercase) | Standard text encoding |
| Code128C | Numeric pairs (00-99) | Numeric data, double density |
| UPCA | 12-digit numeric | Retail products (North America) |
| UPCE | 8-digit numeric (compact) | Small package retail products |
| EAN13 | 13-digit numeric | International retail products |
| EAN8 | 8-digit numeric | Small retail products |
| Barcode Type | Data Capacity | Typical Use Cases |
|---|---|---|
| QR Code | Up to 7,089 numeric or 4,296 alphanumeric | URLs, contact info, payments, marketing |
| Data Matrix | Up to 3,116 numeric or 2,335 alphanumeric | Electronics, pharmaceuticals, printed media |
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_barcodes/barcodes.dart';
class QRCodeExample extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('QR Code')),
body: Center(
child: Container(
height: 300,
width: 300,
child: SfBarcodeGenerator(
value: 'https://www.syncfusion.com',
symbology: QRCode(),
showValue: true,
),
),
),
);
}
}import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_barcodes/barcodes.dart';
class Code128Example extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Code128 Barcode')),
body: Center(
child: Container(
height: 150,
child: SfBarcodeGenerator(
value: 'SYNCFUSION',
symbology: Code128(),
showValue: true,
),
),
),
);
}
}import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_barcodes/barcodes.dart';
class RetailBarcodeExample extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Product Barcode')),
body: Center(
child: Container(
height: 150,
width: 280,
child: SfBarcodeGenerator(
value: '9735940564824',
symbology: EAN13(),
showValue: true,
),
),
),
);
}
}SfBarcodeGenerator(
value: 'https://www.example.com/product/12345',
symbology: QRCode(
errorCorrectionLevel: ErrorCorrectionLevel.high,
codeVersion: QRCodeVersion.auto,
inputMode: QRInputMode.binary,
),
showValue: true,
textSpacing: 10,
)SfBarcodeGenerator(
value: 'PRODUCT-12345',
symbology: Code128(module: 2),
barColor: Colors.deepPurple,
backgroundColor: Colors.grey[100],
textStyle: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Colors.deepPurple,
),
showValue: true,
textAlign: TextAlign.center,
textSpacing: 15,
)class BarcodeList extends StatelessWidget {
final List<BarcodeItem> barcodeTypes = [
BarcodeItem('Code128', '12345678', Code128()),
BarcodeItem('QR Code', 'https://example.com', QRCode()),
BarcodeItem('EAN13', '9735940564824', EAN13()),
BarcodeItem('Code39', 'CODE39', Code39()),
];
Widget build(BuildContext context) {
return ListView.builder(
itemCount: barcodeTypes.length,
itemBuilder: (context, index) {
final item = barcodeTypes[index];
return Card(
margin: EdgeInsets.all(8),
child: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
Text(
item.name,
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
SizedBox(height: 10),
Container(
height: 150,
child: SfBarcodeGenerator(
value: item.value,
symbology: item.symbology,
showValue: true,
),
),
],
),
),
);
},
);
}
}
class BarcodeItem {
final String name;
final String value;
final Symbology symbology;
BarcodeItem(this.name, this.value, this.symbology);
}class ResponsiveBarcode extends StatelessWidget {
Widget build(BuildContext context) {
final screenWidth = MediaQuery.of(context).size.width;
final barcodeSize = screenWidth * 0.8;
return Center(
child: Container(
height: barcodeSize,
width: barcodeSize,
child: SfBarcodeGenerator(
value: 'RESPONSIVE-BARCODE',
symbology: QRCode(),
showValue: true,
),
),
);
}
}| Property | Type | Description | Default |
|---|---|---|---|
| value | String | The data to encode in the barcode | Required |
| symbology | Symbology | Barcode type (Code128, QRCode, etc.) | Code128 |
| showValue | bool | Display input value below barcode | false |
| barColor | Color | Color of barcode bars/modules | Colors.black |
| backgroundColor | Color | Background color of barcode | Colors.white |
| textStyle | TextStyle | Style for displayed text | Default TextStyle |
| textSpacing | double | Space between barcode and text | 2 |
| textAlign | TextAlign | Horizontal alignment of text | TextAlign.center |
| Property | Applies To | Description | Default |
|---|---|---|---|
| module | All types | Width of smallest bar/dot (logical pixels) | Auto-calculated |
| Property | Type | Description | Default |
|---|---|---|---|
| enableCheckSum | bool | Add check digit to barcode | true |
| Property | Type | Description | Default |
|---|---|---|---|
| errorCorrectionLevel | ErrorCorrectionLevel | Error recovery level (low, medium, quartile, high) | high |
| codeVersion | QRCodeVersion | QR version 1-40 or auto | auto |
| inputMode | QRInputMode | Input type (numeric, alphanumeric, binary, kanji) | binary |
| Property | Type | Description | Default |
|---|---|---|---|
| encoding | DataMatrixEncoding | Encoding type (auto, ASCII, ASCIINumeric, base256) | auto |
| dataMatrixSize | DataMatrixSize | Size configuration | auto |