处理热敏打印机的最佳工作颤振包

问题描述 投票:0回答:1

我在使用 Urovo 的 All in One Pos 设备时遇到 Flutter 错误。我想连接到打印机并打印收据,用于连接的代码正在工作,但对于打印,它返回一个错误。我正在使用 blue_ Thermal_printer 包

这是错误堆栈竞赛

 /System.err( 1221): java.io.IOException: Broken pipe
W/System.err( 1221):    at android.net.LocalSocketImpl.writeba_native(Native Method)
W/System.err( 1221):    at android.net.LocalSocketImpl.-wrap3(Unknown Source:0)
W/System.err( 1221):    at android.net.LocalSocketImpl$SocketOutputStream.write(LocalSocketImpl.java:144)
W/System.err( 1221):    at android.bluetooth.BluetoothSocket.write(BluetoothSocket.java:572)
W/System.err( 1221):    at android.bluetooth.BluetoothOutputStream.write(BluetoothOutputStream.java:85)
W/System.err( 1221):    at java.io.OutputStream.write(OutputStream.java:75)
W/System.err( 1221):    at id.kakzaki.blue_thermal_printer.BlueThermalPrinterPlugin$ConnectedThread.write(BlueThermalPrinterPlugin.java:976)
W/System.err( 1221):    at id.kakzaki.blue_thermal_printer.BlueThermalPrinterPlugin.printNewLine(BlueThermalPrinterPlugin.java:810)
W/System.err( 1221):    at id.kakzaki.blue_thermal_printer.BlueThermalPrinterPlugin.onMethodCall(BlueThermalPrinterPlugin.java:313)
W/System.err( 1221):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258)
W/System.err( 1221):    at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
W/System.err( 1221):    at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322)

这是打印代码:

import 'package:blue_thermal_printer/blue_thermal_printer.dart';
import 'package:van_sales_mobile/ui/pages/invoices/printerenum.dart';

/// Test printing with text only
class TestPrint {
  BlueThermalPrinter bluetooth = BlueThermalPrinter.instance;



sample() async {
    bluetooth.isConnected.then((isConnected) {
      print(isConnected);
      if (isConnected == true) {
        // Adjust paper settings for 40mm roll size and 58mm media width
        bluetooth.getBondedDevices();

    bluetooth.printNewLine();
    bluetooth.printCustom("HEADER", Size.boldMedium.val, Align.center.val);
    bluetooth.printNewLine();
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.medium.val);
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.bold.val);
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.bold.val,
        format: "%-15s %15s %n");
    bluetooth.printNewLine();
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.boldMedium.val);
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.boldLarge.val);
    bluetooth.printLeftRight("LEFT", "RIGHT", Size.extraLarge.val);
    bluetooth.printNewLine();
    bluetooth.print3Column("Col1", "Col2", "Col3", Size.bold.val);
    bluetooth.print3Column("Col1", "Col2", "Col3", Size.bold.val,
        format: "%-10s %10s %10s %n");
    bluetooth.printNewLine();
    bluetooth.print4Column("Col1", "Col2", "Col3", "Col4", Size.bold.val);
    bluetooth.print4Column("Col1", "Col2", "Col3", "Col4", Size.bold.val,
        format: "%-8s %7s %7s %7s %n");
    bluetooth.printNewLine();
    bluetooth.printCustom("čĆžŽšŠ-H-ščđ", Size.bold.val, Align.center.val,
        charset: "windows-1250");
    bluetooth.printLeftRight("Številka:", "18000001", Size.bold.val,
        charset: "windows-1250");
    bluetooth.printCustom("Body left", Size.bold.val, Align.left.val);
    bluetooth.printCustom("Body right", Size.medium.val, Align.right.val);
    bluetooth.printNewLine();
    bluetooth.printCustom("Thank You", Size.bold.val, Align.center.val);
    bluetooth.printNewLine();
    bluetooth.printNewLine();
        bluetooth.paperCut();
      }
    });
  }
}
flutter thermal-printer
1个回答
0
投票

使用这个包 它不仅适用于热敏打印机,还可以用于任何蓝牙设备

https://pub.dev/packages/flutter_blue

该插件将帮助生成 ESC/POS 命令以通过 flutter_blue 发送。它支持图像、条形码、文本样式、表格、剪纸、送纸等等。

https://pub.dev/packages/esc_pos_utils

© www.soinside.com 2019 - 2024. All rights reserved.