我正在开发在Zebra打印机上打印标签的Java应用程序。到目前为止,我一直在使用ZPL语言和Java打印API,但ZPL并不足以满足我进一步的工作。我需要做的下一件事是(以编程方式)检查具有指定名称的字体是否已经安装在打印机上。我发现我可以用SGD命令实现我的目标。但是我不知道如何从Java应用程序发送它并获得响应。我想发送的命令是
! U1 do "file.dir" "R:"
有人遇到过类似的问题吗?打印机通过USB与电脑相连。是否有可能使用Java打印API发送命令并接收答案,或者我应该使用套接字或完全不同的东西?
这样的sgd需要用rn
终止。
此外,Zebra还提供了一个Java API来简化与Zebra打印机的通信。下载文件中有很多Javadoc和示例代码
我知道这是一个非常古老的话题,但我在几天前的研究中发现了这个问题,我刚刚想出了一个不同的方法。这个答案可能会帮助其他人找到他们的答案:)
为每个命令在端口9100上打开一个简单的连接到打印机,它工作正常。
示例通过原始tcp-ip连接向zebra zt410发送SDG命令:
# get current state of telnet
echo '! U getvar "ip.telnet.enable"' | nc <printerIP> 9100
#Response received: "on"
# send disable telnet command
echo '! U1 setvar "ip.telnet.enable" "off"' | nc <printerIP> 9100
# No response received.
# get current state of telnet
echo '! U getvar "ip.telnet.enable"' | nc <printerIP> 9100
# Response received: "off"