【发布时间】:2011-11-17 19:46:38
【问题描述】:
我有一个 JSF/Seam Web 应用程序,它有一个带有表单的页面,当提交(单击按钮)时,会根据表单输入动态创建一个 PDF 文件(在 Java 中,服务器端)。目前我的工作是将生成的 PDF 作为文件下载返回到浏览器,因此用户可以选择保存它或在 Acrobat Reader 中打开它以进行后续打印。
我希望 PDF 被发送到浏览器并打印(客户端),无需用户进一步干预(好吧,除了可能出现的 Windows 打印机选项对话框,对此我无能为力)。
解决方案似乎基于在加载 PDF 的页面上隐藏 iframe,然后在 iframe 上调用 .contentWindow.print()。但是,我不知道如何通过HttpServletResponse(在 Java 中)将 PDF 放入 iframe,更不用说加载 pdf 后如何在 iframe 上自动调用 print()。
【问题讨论】:
-
离题(至少与您的核心问题无关)但您至少可以绕过 Chrome > v38 上的打印对话框。请参阅stackoverflow.com/questions/31643913/…(@EnriqueSanMartin 找到的参考资料)