我们目前已完全实施支票打印并在现场用于 POS 应用程序。它在 Windows 上运行,用 C# 实现,并使用 .Net 的 POS。
我们遇到了一个问题,收银员太急于在支票完成盖印前一秒钟左右取出支票。
如果支票在打印过程中被拉出,我们无法让打印机停止接受支票。滑动 LED 指示灯闪烁并进行检查,直到成功调用 BeginRemoval() 和 EndRemoval() 为止,除非您签入以使其立即吐出,否则不会发生这种情况。
我想知道是否有办法在没有支票时禁用打印机想要支票。我假设只有一个我们没有正确调用的方法。
具体来说,问题是如果您调用 BeginInsertion() 和 EndInsertion(),两者都成功,并且在应用程序可以调用 BeginRemoval()/EndRemoval() 之前删除检查。
有没有人有 C#、C++、VB 或任何语言的工作示例?我需要一个插入支票、打印、等待删除以正确处理错误的示例。
*更新:我将此问题转发给爱普生,并要求提供示例应用程序。他们还没有生产出一个,但向我指出了一个 DirectIO() 调用,据称该调用适用于 TM-H6000 系列以取消滑动插入。但是,我还没有让这个工作。希望我们能弄清楚并发布修复程序。
*更新 2:爱普生回复了一些 DirectIO() 操作,据说可以解决问题。但是,在尝试调用 DirectIO() 时,我不断收到 ErrorCode.Illegal。任何人都有在旧设备上使用 DirectIO() 的示例?
应该工作的代码:
_printer.DirectIO(121, 0, null); //121 is a constant for EPSON_DI_HARDWARE_RESET
更新 3:赏金!