0

使用带有 Epson 收据打印的 Microsoft POS.NET,是否可以通过写入本应发送到打印机的字节来创建用于在服务器上打印的收据(服务器安装了 POS.NET 和 Epson 驱动程序,但没有连接打印机)到一个文件?

之后,我们希望能够将这些传输到安装了打印机的客户端计算机,它所做的只是将字节流式传输到打印机。

到目前为止,我们所得到的只是在开发机器上运行的 Epson 示例代码,我看不到任何明显的方法来执行“打印到文件”或截取字节。

4

1 回答 1

1

不幸的是,OPOS 本身并不提供此功能。最接近的是“页面模式”,您可以将 OPOS 收据或单据打印机设置为页面模式状态,然后您的所有打印命令都由服务对象在内部进行缓冲。然后,您发出 OPOS pageModePrint() 命令以稍后将整个收据发送到打印机。但是 OPOS 不提供对缓冲区的访问,供应商可以自由地以他们想要的任何方式实现它(包括根本不实现该功能。)

为了解决您的问题,我能想到的最简单的解决方案是检查您的服务对象,看看它是否支持网络打印。也许服务对象已经能够打印到网络连接的打印机,或另一台托管打印机的计算机。供应商可以通过 DirectIO 命令提供对页面模式缓冲区的访问。您的打印机供应商可能会将这些作为附加(付费)功能提供,或者他们可能会提供为您定制的功能。如果供应商已经为您的打印机提供了以太网通信板选项,那么他们很可能已经拥有您需要的一切。问一下也无妨。

如果没有,您当然可以自由地编写自己的服务对象来完成缓冲数据并使其可用于您的应用程序的任务。将自定义服务对象作为通用控件和供应商提供的服务对象之间的“楔子”滑动,并允许通过 DirectIO() 方法进行自定义控制,这当然不是不可能的。我曾经这样做是为了添加扫描仪缓冲区功能,但我从来没有为像打印机这样复杂的东西做过。

于 2013-01-11T15:43:48.880 回答