我创建了一个POS应用程序(基于Java),需要使用相同的驱动程序连接到至少2个相同的热敏打印机,打印机应该这样做:< / p>
在应用开始&gt;&gt;每台打印机都要open(),claim(),setDeviceEnable(true)
一次
在应用停止&gt;&gt;每台打印机都是setDeviceEnable(false),release(),close()
要在POSPrinter1
我创建了两个POSPrinter对象
private POSPrinter posprinter = initUSBPrinter("POSPrinter1");
private POSPrinter posprinter2 = initUSBPrinter("POSPrinter2");
private static POSPrinter initUSBPrinter(String printerName) {
POSPrinter ptr = new POSPrinter();
try {
ptr.open(printerName);
ptr.claim(1000);
ptr.setDeviceEnabled(true);
} catch (JposException e) {
e.printStackTrace();
}
return ptr ;
}
尝试使用POSPrinter2打印饮品时出现以下错误:
jpos.JposException:103 在com.sewoo.jpos.POSPrinterService.printNormal(POSPrinterService.java:4130) 在jpos.POSPrinter.printNormal(未知来源) at util.PrintManager.printOrderingHeaderByPrinter(PrintManager.java:628) at util.PrintManager.printDrinkByPrinter(PrintManager.java:1359) at util.PrintManager.printOrdering(PrintManager.java:1931) at util.PrintManager.lambda $ print $ 17(PrintManager.java:1668) 在......
因此,虽然在初始化/声明期间找到了两台打印机,但POSPrinter1抛出jpos.POSPrinter.printNormal(Unknown Source)
时POSPrinter1可以打印得非常好。我怀疑由于POSPrinter1在POSPrinter2之前被声明,因此JavaPOS驱动程序仅连接到POSPrinter1。那么单个JavaPOS驱动程序是否只能与单个设备通信?
为了能够同时与2台打印设备通话,我需要这样做 安装了2个JavaPOS驱动程序?如果是这样,我该如何配置我的应用程序 这样做?
open(),claim(),setDeviceEnable(true)
连接到任一打印机
在printjob之前setDeviceEnable(false),release(),close()
断开打印机连接
每次打印作业后连接/断开连接都会大大减慢打印过程。我通常需要在发送printjob后等待3-5秒才能看到打印机最终打印出单据。