bluetooth_thermal_printer

该库允许使用蓝牙打印机打印收据(仅限Android)。它支持58mm和80mm的蓝牙打印机。

此包不使用位置权限。因此,它遵循Google的Android 10政策。

附加组件

  1. esc_pos_utils 包用于打印收据
  2. Image 用于打印图片

带有样式的简单票据

List<int> testTicket() {
  final List<int> bytes = [];
  // Using default profile
  final profile = await CapabilityProfile.load();
  final generator = Generator(PaperSize.mm80, profile);
  List<int> bytes = [];

  bytes += generator.text(
      'Regular: aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ');
  bytes += generator.text('Special 1: àÀ èÈ éÉ ûÛ üÜ çÇ ôÔ',
      styles: PosStyles(codeTable: PosCodeTable.westEur));
  bytes += generator.text('Special 2: blåbærgrød',
      styles: PosStyles(codeTable: PosCodeTable.westEur));

  bytes += generator.text('Bold text', styles: PosStyles(bold: true));
  bytes += generator.text('Reverse text', styles: PosStyles(reverse: true));
  bytes += generator.text('Underlined text',
      styles: PosStyles(underline: true), linesAfter: 1);
  bytes += generator.text('Align left', styles: PosStyles(align: PosAlign.left));
  bytes += generator.text('Align center', styles: PosStyles(align: PosAlign.center));
  bytes += generator.text('Align right',
      styles: PosStyles(align: PosAlign.right), linesAfter: 1);

  bytes += generator.text('Text size 200%',
      styles: PosStyles(
        height: PosTextSize.size2,
        width: PosTextSize.size2,
      ));

  bytes += generator.feed(2);
  bytes += generator.cut();
  return bytes;
}

您可以在此处找到更多示例:esc_pos_utils

如何提供帮助

  • 测试您的打印机并将其添加到表中:已测试打印机
  • 测试并报告错误
  • 分享您关于如何改进的见解(代码优化、新功能…)
  • 欢迎提交PR!

已测试打印机

以下是使用此库测试过的打印机。请添加您测试过的型号,以维护和改进此库,并帮助他人选择合适的打印机。

有关完整示例,请查看示例项目

测试打印

test receipt

test receipt

GitHub

查看 Github