我在网络应用程序中有以下代码
java.awt.Desktop.getDesktop().print(new File(path));
它正在处理桌面应用程序上的任何问题。但不要在网络应用程序中。我需要打印文件。怎么做?
答案 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