我正在处理一个 C# 应用程序,该应用程序在通过订单终端请求商品后自动将食品和饮料订单打印到 Epson 打印机。
打印机是以太网的,在终端上的 EPSON OPOS ADK Version2.68E 驱动程序界面中设置。
该代码使用“Microsoft.PointOfService.PosPrinter”类与打印机进行交互。
使用 PosPrinter 'TransactionPrint' 实例方法将打印逻辑包装在事务中。
有一个逻辑可以捕获 TransactionPrint 方法抛出的任何异常,如果抛出异常,则假定打印不起作用。但是,情况并非总是如此,例如,如果在 TransactionPrint 方法调用返回票证完成打印之前从打印机上拔下网络电缆,但代码中会抛出异常,因此在代码重试打印时会产生重复票证。
有谁知道即使引发网络异常也可以判断打印是否成功的方法?我查看了“PosPrinter”对象的所有属性,但看不到任何有用的东西。我需要一种方法来确定打印是否有效,然后将订单标记为已打印以避免重复票。