我在django上有一个应用程序,它需要以静默模式打印帐单,而无需用户确认。我在谷歌搜索并发现了很多“以静音模式使用javascript打印”的结果,但对我不起作用。我更改了chrome中的标志,在firefox中创建了一个标志,下载了qz托盘(但每次我向打印机发送数据时,免费版本都显示警报)。如何从任何浏览器(如自助服务终端应用程序)静默打印?
答案 0 :(得分:0)
下载的qz托盘(但免费版本每次我向打印机发送数据时都会显示警报)
部分正确。尽力而为,即使是免费版本,您也可以取消对话框。这两个选项是:
使用自定义证书(例如,override.crt)启动QZ托盘,然后使用该证书设置消息签名。
java -Xms512M -DtrustedRootCert=path/to/override.crt -jar qz-tray.jar
注意,authcert.override=path/to/override.crt
也可以添加到qz-tray.properties中,以达到相同的效果。
使用嵌入到软件中的自己的证书重新编译软件。 QZ Tray在编译过程中使此操作非常容易。
ant nsis -Dauthcert.use=path/to/override.crt
大多数在线教程都使用这两种方法之一。
注意,消息签名步骤需要Django中的一些服务器端逻辑。样本python源代码可在此处下载:https://github.com/qzind/tray/blob/2.0/assets/signing/sign-message.py
这需要与sample.html中的消息签名示例结合在一起,以确保对打印机的每个请求均来自受信任的源(在本例中为您)。