在jsp中查看和打印pdf文件

时间:2012-03-28 11:39:28

标签: javascript html jsp printing

我的问题非常简单,我只需要一个技巧来解决它

我的项目文件夹中有5个pdf文件,如file1.pdf,file2.pdf,file3.pdf,file4.pdf和file5.pdf。我在5行中显示这些pdf文件,在每行中我给出了两个按钮,即index.jsp中的VIEW,PRINT。

如果单击VIEW按钮,我想查看相应的pdf文件,如果点击PRINT按钮,则相应的pdf文件将被发送到打印屏幕。我有很多pdf文件,所以我没有在index.jsp中编写这些pdf文件名,而是创建了一个表pdf_file并且有一列pdf_file_name。

如果在该行中点击该按钮(查看或打印),我如何查看和打印相应的pdf文件?

 <%
  ps=('select distinct pdf_file_name from pdf_file');

 //ResultSet rs=ps.executeQuery();
  .............

  %>
  <table>
  <tr>
  <td>
  PDF FILE NAMES click on a respective pdf file to view or print
  </td>
  </tr>
  <tr><td>
  <a href='<%=pdf_file_name%>'><%=pdf_file_name%></a>  
  <input type="button" value="View">// button to view that respective pdf file

  <input type="button" value="Print">// button to print that respective pdf file
 </td>
 </tr>
 </table>

2 个答案:

答案 0 :(得分:0)

我不认为这是可能的。为了在没有客户端下载文件的情况下打印文件,浏览器需要能够显示文件(大多数浏览器都不能)。如果您没有安装pdf阅读器,这与无法从Windows打印pdf没有太大区别。

如果您可以在页面上显示pdf内嵌(转换为图像或类似内容),则可以将隐藏的iframe指向包含pdf的页面,并打印iframe的内容。这至少会给人一种打印文件而不先打开文件的印象。

答案 1 :(得分:0)

使用纯HTML / Javascript,没有外部窗口或iframe ,您将无法使用链接/按钮直接打印PDF。这是因为从浏览器到浏览器和服务器端实现文件/存储/安全/对话处理的方式。 在大多数情况下,无论您如何编码,用户都会获得打印对话框或打开窗口,其中包含PDF以便在打印前进行确认

您可能希望了解的一些选项

  • iframes或Jquery / Ajax在另一个框架/窗口中加载PDF,并在打开时打印一个事件。检查此stackoverflow question以了解如何才能完成
  • 用于处理PDF转换/打印的服务器端语言(如PHP或Python)。 (Php有DomPDFTCPDF和其他图书馆。
  • 在公开a href附近显示DIV,向您的用户解释如何右击 - &gt;另存为然后打印。