【问题标题】:view and print a pdf file in jsp在jsp中查看和打印pdf文件
【发布时间】:2012-03-28 19:39:27
【问题描述】:

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

我的项目文件夹中有 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>

【问题讨论】:

  • 有用的问题,所以+1。但是你已经尝试过了。
  • 我尝试在按钮中使用 window.print(); by onclick event,但 index.jsp 正在进入打印屏幕,但我希望 file1.pdf 进入打印屏幕
  • 参考这个链接,你可能会得到一些帮助stackoverflow.com/questions/687675/…
  • 是的,它对我有所帮助,但我的问题略有不同,所以我的问题有什么解决方案吗?如何通过单击按钮查看/打印 pdf 文件?

标签: javascript html jsp printing


【解决方案1】:

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

您可能想要研究的一些选项

  • iframes 或 Jquery/Ajax 在另一个框架/窗口中加载 PDF 并在其打开时打印一个事件。查看此stackoverflow question 了解如何实现
  • 用于处理 PDF 转换/打印的服务器端语言,例如 PHP 或 Python。 (php有DomPDFTCPDF等库。
  • 在 Open a href 附近显示一个 DIV,向您的用户解释如何右键单击->另存为然后打印。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-16
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多