如何在django应用程序中静默打印

时间:2018-04-26 13:27:10

标签: javascript django

我在django上有一个应用程序,它需要以静默模式打印帐单,而无需用户确认。我在谷歌搜索并发现了很多“以静音模式使用javascript打印”的结果,但对我不起作用。我更改了chrome中的标志,在firefox中创建了一个标志,下载了qz托盘(但每次我向打印机发送数据时,免费版本都显示警报)。如何从任何浏览器(如自助服务终端应用程序)静默打印?

1 个答案:

答案 0 :(得分:0)

  

下载的qz托盘(但免费版本每次我向打印机发送数据时都会显示警报)

部分正确。尽力而为,即使是免费版本,您也可以取消对话框。这两个选项是:

  1. 使用自定义证书(例如,override.crt)启动QZ托盘,然后使用该证书设置消息签名。

    java -Xms512M -DtrustedRootCert=path/to/override.crt -jar qz-tray.jar

    注意,authcert.override=path/to/override.crt也可以添加到qz-tray.properties中,以达到相同的效果。

  2. 使用嵌入到软件中的自己的证书重新编译软件。 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中的消息签名示例结合在一起,以确保对打印机的每个请求均来自受信任的源(在本例中为您)。