我在多台计算机上使用的服务本质上是一个套接字,而TcpListener则在端口上侦听消息。此消息是ZPL代码的字节数组。然后该服务将该阵列发送到USB连接的Zebra GK420d打印机,然后进行打印。字节数组是从另一个应用程序发送的,用户可以在其中为不同的产品选择不同的标签布局。其他计算机没有管理员权限,但我不认为这是原因。
我让打印机在我的办公桌和另一台计算机上工作,但是在其他计算机(大约10台以上)上却没有。所有计算机均已连接USB Zebra GK420d打印机。
我遇到的问题是打印机一次闪烁绿色,但不打印。我知道事实上该服务运行良好,因为当我查看CMD窗口时,会看到ZPL消息和它试图发送到的打印机。这表明该服务可以正常工作,并且打印机可以接收到消息,因此可以获取闪光灯。
我尝试了各种驱动程序,更新了驱动程序,使用了不同的USB端口,更新了计算机上的.Net,删除了打印机并重新安装了它们,等等,但是似乎没有什么可以解决此问题。他们可以很好地打印测试页,所以我不确定是什么问题。
这些计算机/打印机现在都具有相同的打印机属性/首选项/驱动程序和Windows版本。但是,在过去6年中,打印机都是在不同时间购买的。
我强烈建议您使用基于文本的驱动程序。如果要发送ZPL,那是最干净的选择。如果以前不起作用,请尝试使用更简单的label / ZPL blob;您发送的ZPL可能有问题。
否则,我发现了这个:https://code-examples.net/en/q/43c80a
在代码中,将“ $ {”添加到ZPL的开头,并将“} $”添加到末尾。这是ZDesigner的Windows驱动程序。
结果是由于ZPL代码在每个ZPL文件的末尾没有通过流发送新行。