我有一个Web应用程序需要使用Java Applet在热敏打印机上打印ZPL代码。我找到了两种在linux上打印的方法。 首先:创建一个文件并将其发送到打印机,但是,根据我发现的研究,出于安全原因,Java会阻止编辑和使用Applet读取本地文件。因此驳回了这种可能性。 第二:无需创建文件并将其发送到打印机,就是使用以下shell脚本:
lpr -P "Thermal Printer" -l <<< "^XA^MNN^JMA^FS^LT120^FO160,125^ADN,20,20^FD ^FS^PQ1^XZ";
该命令可以直接在终端中正常工作,但是当我尝试使用applet时,它不会执行。
我正在尝试按如下方式执行打印:
String command = "lpr -P \"" + printer.getName () + "\" -l <<< \"" + zpl + " \"";
ArrayList<String> commands = new ArrayList<String>();
commands.add("/ bin / bash");
commands.add("- c");
commands.add(command);
ProcessBuilder p = new ProcessBuilder(commands);
Process pr = p.start ();
pr.waitFor ();
我读过我不能做我想做的事,但我没有看到另一种方法。
有没有人知道可能是什么?
谢谢你。