使用直接协议打印机语言(霍尼韦尔)从 android 在标签打印机上打印文本



我正在尝试开发一个使用标签打印机(霍尼韦尔PC 42T(作为其主打印机的应用程序。 这个特定的打印机没有针对 android 的特定 SDK,所以我必须绕过并使用其语言(即直接协议(直接向该打印机发送命令。根据这里和这里的示例代码,我写了一段代码打印在上面。

这是代码:

Thread thread = new Thread(() -> {
try
{
Socket sock = new Socket("192.168.199.106", 9100);
PrintWriter oStream = new PrintWriter(sock.getOutputStream());
oStream.println("PP 25,35"); // Command to set print starting position
oStream.println("PT This is a test"); // Command to set text
oStream.println("PF"); // Command to feed the label after printing
oStream.println("PRINT KEY OFF"); // Command to finish printing
oStream.close();
sock.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
});
thread.start();

此代码将馈送标签,但不在其上打印。
以前有人对此有过一些经验吗?谢谢。

我和你有同样的问题,也许你想试试ZPL,在PC42t的描述中提到这台打印机与ZPL兼容

由于直接协议(DP(,ZSim(

ZPL-II(,ESim(EPL(等众多仿真,集成到现有和新的打印环境中的速度特别快,特别是因为打印机语言是自动识别的,无需任何预设。

你可以看看这个Java库(归功于创建者w3blogfr(: https://github.com/w3blogfr/zebra-zpl

我已经使用了这个库并且工作正常。

最新更新