在过去的几天里,我进行了大量的研究,并在这个问题上付出了足够的努力。我想要实现的是使用打印按钮直接从网络打印。我不想浏览器打印弹出出现。将有2台打印机附加到我的web应用程序,我希望打印机选择自动。
我知道,这是不可能的PHP或没有任何浏览器扩展或active x插件。
我还想出了一种解决方案,使用web套接字发送打印请求,同时在用户系统上安装java套接字客户端应用程序。
请为我的问题提供省时的解决方案。
发布于 2020-01-11 18:22:34
不足的是,在套接字连接上处理HTTPS是很棘手的,因为混合的内容限制和改变SSL标准,因此从零开始在所有平台上工作可能会令人望而生畏。
我还想出了一种解决方案,使用web套接字发送打印请求,同时在用户系统上安装java套接字客户端应用程序。
这正是QZ托盘的工作原理。
qz.websocket.connect().then(function() {
return qz.printers.find("zebra"); // Pass the printer name into the next Promise
}).then(function(printer) {
var config = qz.configs.create(printer); // Create a default config for the found printer
var data = ['^XA^FO50,50^ADN,36,20^FDRAW ZPL EXAMPLE^FS^XZ']; // Raw ZPL
return qz.print(config, data);
}).catch(function(e) { console.error(e); }
上面的示例是针对原始打印的,但是该应用程序也适用于其他格式(HTML、PDF、图像)。
项目页面:https://github.com/qzind/tray
全部免责声明..。作为上述插件的作者,我认为可以公平地指出,PrintNode执行的任务几乎相同。这两个插件都是开源的,但都有支持它们的商业服务支持。
https://stackoverflow.com/questions/36265503
复制相似问题