printQRCode static method
List<int>
printQRCode(
- String data, {
- QRSize size = QRSize.size4,
- QRCorrection correction = QRCorrection.M,
Print QR code
Implementation
static List<int> printQRCode(String data, {QRSize size = QRSize.size4, QRCorrection correction = QRCorrection.M}) {
List<int> command = [];
List<int> dataBytes = data.codeUnits;
// GS ( k - QR code commands
const List<int> qrHeader = [0x1D, 0x28, 0x6B]; // GS ( k
// Function 165: Set QR code model
command.addAll(qrHeader);
command.addAll([0x04, 0x00]); // pL pH
command.addAll([0x31, 0x41]); // cn fn
command.addAll([0x32, 0x00]); // n1 n2 (Model 2)
// Function 167: Set module size
command.addAll(qrHeader);
command.addAll([0x03, 0x00]); // pL pH
command.addAll([0x31, 0x43]); // cn fn
command.add(size.value); // n
// Function 169: Set error correction level
command.addAll(qrHeader);
command.addAll([0x03, 0x00]); // pL pH
command.addAll([0x31, 0x45]); // cn fn
command.add(correction.value); // n
// Function 180: Store data
command.addAll(qrHeader);
int dataLength = dataBytes.length + 3;
command.addAll([dataLength & 0xFF, (dataLength >> 8) & 0xFF]); // pL pH
command.addAll([0x31, 0x50]); // cn fn
command.add(0x30); // m
command.addAll(dataBytes); // Data
// Function 181: Print QR code
command.addAll(qrHeader);
command.addAll([0x03, 0x00]); // pL pH
command.addAll([0x31, 0x51]); // cn fn
command.add(0x30); // m
return command;
}