最小的打印方式用Java打印HTML?

时间:2013-01-24 16:40:34

标签: java html printing security

我正在为我的公司开发一个内部Java Web应用程序,在那里我可以完全访问将使用该应用程序并可根据需要进行配置的每台计算机。部分要求是强制打印动态生成的HTML文件,只需按下Web应用程序中的按钮,即可将打印机配置为默认打印(无打印提示)。我正在努力满足的另一个可选要求是,这主要是浏览器和操作系统无关。

我有什么选择来实现这一目标?我知道由于安全限制,无法自动默认强制打印。我研究过各种各样的选项,包括更改各种浏览器中的安全设置,运行带打印服务器的签名小程序以及Windows机器中的注册表更新等本地机器设置。

长话短说,我知道必须在机器上进行某种设置更新才能实现我的目标,但我试图找到最少侵入性的解决方案,没有用户提示需要最少量的设置更新。

2 个答案:

答案 0 :(得分:1)

不知道你的目标是什么,但是:

  • 对于IE,this vbscript应该可以解决问题。
  • 在Firefox上,应该将about:config中的print.always_print_silentprint.show_print_progress设置为true&假的。
  • 对于Chrome,我认为这可以通过使用--kiosk --kiosk-printing启动参数来实现。但它确实使整个应用程序在Kiosk模式下工作。
  • 我不了解Safari解决方案。

如果您可以使用PDF,那里有一个名为Silent Printing的选项(来源:this manual),可以让您在各种浏览器中进行静音打印。

此外,“如果它只是一个内部应用程序,那么您可以避免从浏览器打印,并将打印输出直接从服务器发送到最近的打印机给用户”,如this similar thread中所述。

答案 1 :(得分:-1)

一个(不是很优雅)解决方案是通过单击按钮来调用Web服务。然后,该web服务将在某个服务器机器上启动浏览器(例如,使用Selenium)。浏览器将按照您的方式打开页面,然后输入“ctrl + p”和“enter”。 您可以确保默认打印机是您需要的打印机,并且没有进一步的对话。我曾经为PDFCreator(也是一台打印机)实现了这样的解决方案。你可以在那里配置它,不再问任何问题。