barcode static method

List<int> barcode({
  1. required String barcodeData,
  2. AlignPos align = AlignPos.center,
})

Implementation

static List<int> barcode({required String barcodeData, AlignPos align = AlignPos.center}) {
  // Comando para restablecer la impresora
  String reset = '\x1B@';
  String enter = '\n';

  // Comando para imprimir un código de barras Code 128
  String barcodeCommand = '\x1D\x68\x64\x1D\x77\x02\x1D\x48\x02\x1D\x6B\x49\x0C$barcodeData\x00';

  // Aplicar los comandos según los parámetros
  const cAlignLeft = '\x1Ba0'; // Alinear a la izquierda
  const cAlignCenter = '\x1Ba1'; // Alinear al centro
  const cAlignRight = '\x1Ba2'; // Alinear a la derecha

  String alignmentCode = "";
  if (align == AlignPos.left) {
    alignmentCode = cAlignLeft;
  } else if (align == AlignPos.center) {
    alignmentCode = cAlignCenter;
  } else if (align == AlignPos.right) {
    alignmentCode = cAlignRight;
  }

  // Concatena los comandos y los convierte en una lista de bytes
  String combinedCommand = '$reset$alignmentCode$barcodeCommand$enter';
  List<int> commandBytes = combinedCommand.codeUnits;

  return commandBytes;
}