您可以使用Applet Java运行shell脚本吗?
我有一个web应用程序,需要使用javaapplet在热敏打印机上打印ZPL代码。我发现了两种在linux上打印的方法。 首先:创建一个文件并将其发送到打印机,然而,根据我在研究中发现的,出于安全原因,Java会阻止使用Applet编辑和读取本地文件。因此排除了这种可能性。 第二:无需创建文件并将其发送到打印机,即可使用以下shell脚本:您可以使用Applet Java运行shell脚本吗?,java,linux,shell,printing,applet,Java,Linux,Shell,Printing,Applet,我有一个web应用程序,需要使用javaapplet在热敏打印机上打印ZPL代码。我发现了两种在linux上打印的方法。 首先:创建一个文件并将其发送到打印机,然而,根据我在研究中发现的,出于安全原因,Java会阻止使用Applet编辑和读取本地文件。因此排除了这种可能性。 第二:无需创建文件并将其发送到打印机,即可使用以下shell脚本: lpr -P "Thermal Printer" -l <<< "^XA^MNN^JMA^FS^LT120^FO160,125^ADN,2
lpr -P "Thermal Printer" -l <<< "^XA^MNN^JMA^FS^LT120^FO160,125^ADN,20,20^FD ^FS^PQ1^XZ";
lpr-P“热敏打印机”-我只是让用户接受权限,这样你的应用程序就不会被沙盒。请参阅特权小程序:我已经对小程序进行了签名,并将证书添加到Java控制面板的证书中,但是,即使允许小程序运行到客户端,我也出现了错误:拒绝访问(“Java.io.FilePermission”“/bin/bash”“execute”)。知道为什么吗?您设置了正确的安全权限吗?-检查安全标签,我发现了问题。我的java.policy正在阻止一切。我改变了这一点,我的小程序就可以正常工作了:D.我将尝试理解如何配置为仅为我的URL授予权限,但现在这是另一个问题,呵呵。非常感谢你的帮助
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 ();