使用带有Epson收据打印功能的Microsoft POS.NET,是否可以通过写入已经存在的字节来创建服务器上打印的收据(服务器安装了POS.NET和Epson驱动程序,但没有连接打印机)到打印机到文件?
之后,我们希望能够将这些传输到安装了打印机的客户端计算机,并且只需将字节流式传输到打印机。
到目前为止我们所拥有的只是在开发机器上运行的Epson示例代码,我看不到任何明显的方法来执行“打印到文件”或截取字节。
答案 0 :(得分:1)
不幸的是,OPOS本身不提供此功能。最接近的是“页面模式”,您将OPOS收据或单据打印机设置为页面模式状态,然后所有打印命令由服务对象在内部缓冲。然后,您发出OPOS pageModePrint()命令,以便稍后将整个收据发送到打印机。但OPOS不提供对缓冲区的访问,供应商可以自由地以任何方式实现它(包括根本不实现该功能。)
要解决您的问题,我能想到的最简单的解决方案是检查您的服务对象,看它是否支持网络打印。服务对象可能已经能够打印到网络连接的打印机,或者打印到托管打印机的另一台计算机。供应商可以通过DirectIO命令提供对页面模式缓冲区的访问。您的打印机供应商可能会将这些功能作为附加(付费)功能提供,或者他们可能会为您提供自定义功能。如果供应商已经为您的打印机提供了以太网通信板选项,那么他们可能已经拥有了您需要的一切。问问不会有什么坏处。
如果没有,您当然可以自由编写自己的服务对象来完成缓冲数据并使其可供应用程序使用的任务。将自定义服务对象作为公共控件和供应商提供的服务对象之间的“楔形”滑动并且通过DirectIO()方法允许自定义控制当然不是不可能的。我之前曾经做过这样的事情来添加扫描仪缓冲功能,但我从来没有像打印机那样复杂。