flutter_zpl_builder 1.0.1
flutter_zpl_builder: ^1.0.1 copied to clipboard
A CLI tool to statically extract ZPL strings from Dart source files using analyzer.
ZPL Builder CLI - Example #
Basic Usage #
Create a Dart file containing a ZplGenerator declaration from
flutter_zpl_generator:
// label.dart
import 'package:flutter_zpl_generator/src/zpl_generator.dart';
import 'package:flutter_zpl_generator/src/zpl_configuration.dart';
import 'package:flutter_zpl_generator/src/zpl_text.dart';
import 'package:flutter_zpl_generator/src/zpl_barcode.dart';
import 'package:flutter_zpl_generator/src/zpl_separator.dart';
import 'package:flutter_zpl_generator/src/enums.dart';
final generator = ZplGenerator(
config: const ZplConfiguration(
printWidth: 812,
labelLength: 600,
printDensity: ZplPrintDensity.d8,
),
commands: [
ZplText(
x: 0,
y: 20,
text: 'SHIPPING LABEL',
fontHeight: 40,
fontWidth: 36,
alignment: ZplAlignment.center,
),
ZplSeparator(y: 75, thickness: 2),
ZplText(
x: 20,
y: 100,
text: 'Order #12345',
fontHeight: 24,
fontWidth: 20,
),
ZplBarcode(
x: 20,
y: 140,
data: '12345678',
type: ZplBarcodeType.code128,
height: 80,
),
],
);
Then run the CLI to extract the ZPL:
# With global install
zpl_builder -i label.dart
# Or with local development
dart run bin/zpl_builder.dart -i label.dart
Output:
^XA
^LL600
^PW812
^JMA
^FO0,20
^A0N,40,36
^FB812,1,0,C,0
^FDSHIPPING LABEL^FS
^FO0,75
^GB812,2,1,B,0^FS
^FO20,100
^A0N,24,20
^FDOrder #12345^FS
^FO20,140
^BCN,80,Y,N,N,A
^FD12345678^FS
^XZ
Using in Code #
You can also use the library API directly in Dart code:
import 'package:flutter_zpl_builder/flutter_zpl_builder.dart';
void main() {
final config = ZplConfig(printWidth: 812, labelLength: 600);
final commands = <ZplCmd>[
ZplTextCmd(
x: 0,
y: 20,
text: 'Hello from ZPL Builder',
fontHeight: 30,
fontWidth: 26,
alignment: 'center',
),
ZplBarcodeCmd(
x: 20,
y: 80,
data: 'ABC-123',
type: 'code128',
height: 60,
),
];
final zpl = buildZpl(config, commands);
print(zpl);
}
More Examples #
See the example/ directory for additional demonstrations:
text_demo.dart- Font sizes, orientations, alignment, text wrappingbarcode_demo.dart- Code128, Code39, QR, DataMatrix, EAN-13, UPC-Agraphics_demo.dart- Boxes, circles, ellipses, diagonal lines, ZplRawlayout_demo.dart- ZplColumn, ZplGridRow, ZplGridColreceipt_demo.dart- Full receipt label with grid layout