testAllPrinterFeatures static method

Future<void> testAllPrinterFeatures()

Example: Test all printer features

Implementation

static Future<void> testAllPrinterFeatures() async {
  print('=== Testing All Printer Features ===');

  // Initialize
  final initialized = await PaxSdk.initializePrinter();
  print('Initialized: $initialized');

  // Get status
  final status = await PaxSdk.getPrinterStatus();
  print('Status: ${status['statusMessage']}');

  // Test font sizes
  for (final fontSize in ['small', 'medium', 'large', 'extra_large']) {
    await PaxSdk.setFontSize(fontSize);
    await PaxSdk.printText('Font size: $fontSize\n');
  }

  // Test alignments
  final alignments = ['Left', 'Center', 'Right'];
  for (int i = 0; i < alignments.length; i++) {
    await PaxSdk.printText(
      'Alignment: ${alignments[i]}\n',
      options: {'alignment': i},
    );
  }

  // Test double height/width
  await PaxSdk.setDoubleHeight(isAscDouble: true, isLocalDouble: true);
  await PaxSdk.printText('Double Height Text\n');

  await PaxSdk.setDoubleWidth(isAscDouble: true, isLocalDouble: true);
  await PaxSdk.printText('Double Width Text\n');

  // Reset to normal
  await PaxSdk.setDoubleHeight(isAscDouble: false, isLocalDouble: false);
  await PaxSdk.setDoubleWidth(isAscDouble: false, isLocalDouble: false);

  // Test spacing
  await PaxSdk.setSpacing(wordSpace: 3, lineSpace: 6);
  await PaxSdk.printText('Text with custom spacing\n');

  // Test invert
  await PaxSdk.setInvert(true);
  await PaxSdk.printText('Inverted Text\n');
  await PaxSdk.setInvert(false);

  // Feed and cut
  await PaxSdk.feedPaper(pixels: 48);

  final cutSupported = await PaxSdk.isCutSupported();
  if (cutSupported) {
    await PaxSdk.cutPaper(mode: 0);
  }

  print('All printer features tested!');
}