使用相同的JavaPOS / OPOS驱动程序连接和打印2台或多台相同的热敏打印机?

时间:2018-01-17 11:10:25

标签: opos javapos

REQUEST

我创建了一个POS应用程序(基于Java),需要使用相同的驱动程序连接到至少2个相同的热敏打印机,打印机应该这样做:< / p>

  • 在应用开始&gt;&gt;每台打印机都要open(),claim(),setDeviceEnable(true) 一次

  • 在应用停止&gt;&gt;每台打印机都是setDeviceEnable(false),release(),close()

  • 要在POSPrinter1

  • 上打印的食品
  • 在POSPrinter2上打印的饮品

我追求的是什么

我创建了两个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 ;
}
  • 启动/声明两台打印机时,应用程序启动期间无错误
  • 使用POSPrinter1
  • 打印食品时工作精细
  • 尝试使用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) 在......

ISSUE

因此,虽然在初始化/声明期间找到了两台打印机,但POSPrinter1抛出jpos.POSPrinter.printNormal(Unknown Source)时POSPrinter1可以打印得非常好。我怀疑由于POSPrinter1在POSPrinter2之前被声明,因此JavaPOS驱动程序仅连接到POSPrinter1。那么单个JavaPOS驱动程序是否只能与单个设备通信?

  

为了能够同时与2台打印设备通话,我需要这样做   安装了2个JavaPOS驱动程序?如果是这样,我该如何配置我的应用程序   这样做?

这个工作但是慢速打印过程

  • 通过open(),claim(),setDeviceEnable(true)连接到任一打印机 在printjob之前
  • 并在成功运行printjob
  • 后通过setDeviceEnable(false),release(),close()断开打印机连接

每次打印作业后连接/断开连接都会大大减慢打印过程。我通常需要在发送printjob后等待3-5秒才能看到打印机最终打印出单据。

0 个答案:

没有答案