Java PDF打印到客户端';不打开打印机就可以打印

Java PDF打印到客户端';不打开打印机就可以打印,java,pdf,struts,Java,Pdf,Struts,我正在开发一个用Java开发的web应用程序,在Tomcat上运行struts。我在web应用程序中有如下要求: 一个JSP页面,包含每个与复选框关联的PDF文件列表。JSP页面有一个按钮。一旦用户通过选择相关复选框选择了要打印的PDF文档,用户就会单击该按钮 然后,所有选定的PDF文档都应发送到特定的本地打印机(即连接到客户机的打印机,用户在其中访问web应用程序)。不应在acrobat reader或浏览器中打开选定的PDF文件。发送到打印机时,用户不应看到PDF文档 有人能帮我实现这个要求

我正在开发一个用Java开发的web应用程序,在Tomcat上运行struts。我在web应用程序中有如下要求:

一个JSP页面,包含每个与复选框关联的PDF文件列表。JSP页面有一个按钮。一旦用户通过选择相关复选框选择了要打印的PDF文档,用户就会单击该按钮

然后,所有选定的PDF文档都应发送到特定的本地打印机(即连接到客户机的打印机,用户在其中访问web应用程序)。不应在acrobat reader或浏览器中打开选定的PDF文件。发送到打印机时,用户不应看到PDF文档


有人能帮我实现这个要求吗

对此,您很可能必须使用Java小程序。浏览器没有打印pdf文档的固有功能。您可以访问“标准”adobe插件,但据我所知,它没有暴露在标准脚本环境中

你可以看看这里:

注意:建议对小程序进行签名,以防止安全限制和/或烦人的问题,从而允许用户访问打印机


在小程序中还需要某种形式的PDF渲染器(以渲染到打印机)。类似于,请在此处阅读更多内容:

这在JavaScript中是不可能的。可以使用Flash或Java小程序。无论哪种情况,您都需要能够使用打印机驱动程序和自定义PDF阅读工具包。有足够的插件都可以读取PDF,并且都带有打印API


如果我可以这么说的话,这是一个不好的要求——强迫用户在不阅读文档的情况下打印文档是不好的——应该重新协商,特别是因为将这些文档打印为PDF格式非常简单。

使用Internet Explorer和ActiveX是可能的。用谷歌搜索“自动打印”和“无声打印”。为此,您可能必须降低Internet Explorer中的安全设置

我们在这里使用它来处理来自客户的一些内部网

对于Firefox,您可以通过javascript触发打印对话框。(http://stackoverflow.com/questions/975652/silent-print-a-embedded-pdf) 如果是这种情况,您可以在FF中禁用打印对话框,并在
about:config
中设置
print.always\u print\u silent=true

我从来没有自己做过,所以我不能肯定它是否能像ActiveX一样工作


对于Chrome来说,存在一个问题,需要与FF相同的功能。请参阅。

javax.jnlp.PrintService`可以从沙盒小程序打印。有关示例,请参见。选择的PDF文件不应在acrobat reader或浏览器中打开。为什么要对用户施加此类任意限制?为什么要杀树?如果用户没有打印机怎么办?