【问题标题】:tricky POS printer design question [closed]棘手的POS打印机设计问题[关闭]
【发布时间】:2009-09-02 21:43:42
【问题描述】:
除了已经安装的软件之外,我正在考虑设计一个在 POS 终端上运行的应用程序。我希望它接收 POS 打印机命令,然后在其中一些命令上拦截和修改它们。因此,例如在打印收据时,我们希望在其中添加自定义参考编号,而无需修改第三方 POS 应用程序。
我很想听听人们对阅读 POS 规范的最佳方法的建议,这似乎并不简单。
【问题讨论】:
标签:
printing
point-of-sale
【解决方案1】:
我认为解决方案是在 POS 应用程序之外执行此操作,但在它理解的级别上进行交流,即打印。一个看起来像打印机的解决方案可以捕获数据、重新格式化然后继续发送,这样就可以解决问题,或者在打印机端口级别与操作系统(比如 Windows)进行交互。
在 Windows 中,我们使用我们创建的自定义端口监视器来捕获和路由这些数据,这是我们内部使用的东西,所以我不建议您使用它,因为它有一些错误。类似的解决方案是RedMon。这可以提供解决方案或为您提供有关如何完成它的想法。捕获数据后,您可以针对它启动一个进程。
另一种方法是通过网络,您可以随时设置监控 9100 (RAW) 或 515 (LPR) 的设备来拦截数据。
最后,如果是 Windows 并且您不想创建像 RedMon 这样低级别的东西,您总是可以使用命名管道。您将运行一个将监控命名管道的服务应用程序。来自 POS 的打印机将其端口设置为“本地”,端口为 \.\pipe\。这将允许应用程序与您的服务直接通信,从而启动一个进程。
您可以设置多个命名管道/Redmon/网络端口,每个端口都有一个唯一的关联输出,以定向到另一端的正确设备。