printAdvancedReceipt static method

Future<void> printAdvancedReceipt()

Example: Advanced printing with formatting

Implementation

static Future<void> printAdvancedReceipt() async {
  print('=== Advanced Printing Example ===');

  // Initialize printer
  final initialized = await PaxSdk.initializePrinter();
  if (!initialized) {
    print('Failed to initialize printer');
    return;
  }

  // Set advanced formatting
  await PaxSdk.setFontSize('large');
  await PaxSdk.setDoubleHeight(isAscDouble: true, isLocalDouble: true);
  await PaxSdk.setDoubleWidth(isAscDouble: true, isLocalDouble: true);
  await PaxSdk.setSpacing(wordSpace: 2, lineSpace: 4);

  // Print header
  await PaxSdk.printText(
    'COMPANY NAME\n',
    options: {
      'fontSize': 'large',
      'alignment': 1, // Center
    },
  );

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

  // Print receipt content
  await PaxSdk.printText(
    'Receipt #: 12345\n'
    'Date: ${DateTime.now().toString().split(' ')[0]}\n'
    'Time: ${DateTime.now().toString().split(' ')[1].split('.')[0]}\n\n'
    'Items:\n'
    '  Coffee     \$3.50\n'
    '  Sandwich   \$8.75\n'
    '  Cookie     \$2.25\n\n'
    'Subtotal:   \$14.50\n'
    'Tax:        \$1.45\n'
    'Total:      \$15.95\n\n'
    'Payment: Credit Card\n'
    'Card: **** **** **** 1234\n\n'
    'Thank you for your purchase!\n'
    'Please come again.\n\n'
    '=====================\n',
    options: {
      'fontSize': 'medium',
      'alignment': 0, // Left
    },
  );

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

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

  print('Advanced receipt printed successfully!');
}