Desktop.getDesktop()。print(path)在Web应用程序中不起作用

时间:2011-08-01 13:15:29

标签: java

我在网络应用程序中有以下代码

java.​awt.Desktop.getDesktop().print(new File(path));

它正在处理桌面应用程序上的任何问题。但不要在网络应用程序中。我需要打印文件。怎么做?

2 个答案:

答案 0 :(得分:0)

正如Joachim指出的那样,Java代码在服务器上运行,而不是在客户端运行,因此您无法使用Java从Web应用程序进行打印。

您可以使用JavaScript window.print()来打印浏览器窗口的内容。

现在您不太可能想要完全按照浏览器中显示的内容打印窗口内容,这是打印样式表发挥作用的地方 - 假设您的页面被写为web-standards compliant(至少当谈到CSS的使用时,你只需编写第二个样式表,在按照here所述打印时控制页面的外观。

因此,在您的情况下,您需要将文件的内容呈现到浏览器正在显示的页面中(可能是隐藏的div),然后打印样式表将隐藏显示在浏览器并显示文件内容。

答案 1 :(得分:0)

如果要在客户端打印,则应通过javascript代码完成打印。如果用Java完成,打印将在服务器端完成。

java ee中的打印示例:http://shyarmal.blogspot.com/2011/08/printing-example-with-java-ee.html