【问题标题】:Getting the PDF created using iText as pop up in JSF在 JSF 中弹出使用 iText 创建的 PDF
【发布时间】:2011-03-15 19:44:18
【问题描述】:

我想使用 iText 创建一个 pdf。执行此操作的方法是 JSF bean。我想要的是,单击 JSF 页面中的命令按钮,创建 PDF。然后它必须在新窗口(或选项卡)中作为弹出窗口打开,保持 JSF 页面不变。我怎样才能做到这一点?我知道javascript中有一种方法可以使用window.open()打开一个新窗口,但是我想从JSF bean访问列表来创建pdf。 谢谢。

【问题讨论】:

    标签: javascript jsp jsf richfaces itext


    【解决方案1】:

    target="_blank" 属性添加到<h:form>,它将提交到新的选项卡/窗口。

    【讨论】:

    • 感谢您的快速回复。你能解释一下吗?当您给出 target="_blank" 时,单击命令按钮,它会调用 JSF bean 并创建 PDF(以字节数组的形式)。我如何使用这个字节数组来显示(作为输出流)?
    • 我以为你已经让那部分工作了?至此,您只需要将字节与一组正确的标头一起流式传输到响应正文。无论如何,4 年前我曾经写过一个面向 JSF 的博客,它仍然适用:balusc.blogspot.com/2006/05/pdf-handling.html
    【解决方案2】:

    您可以用映射到 servlet 的 <a href="pathToPdfServlet" target="_blank">PDF</a> 替换 commandButton。此 servlet 会将响应内容类型设置为 application/pdf,调用 iText 并将 PDF 写入输出流。

    【讨论】:

    • 感谢您的快速回复。但是,这种方法有两个问题。 1.必须是commandButton(要求) 2.如何在servlet中访问JSF bean数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多