7

我需要从 JSP JSF 页面生成 PDF。我已经搜索了网络,但我没有找到任何关于我应该如何执行此操作的示例。我需要转换整个页面,或者可能只转换我在该页面上的图表。

PS 我也在使用 IceFaces。

4

4 回答 4

7

最简单的方法可能是使用过滤器捕获 HTML并使用合适的 API 将其转换为 PDF,然后从. IceFaces 部分提交支持可能用于捕获组件树输出的子集,但您可能必须研究 IceFaces HTTP 请求的详细信息才能弄清楚如何利用它。application/pdfFilter

于 2009-12-27T14:24:56.370 回答
2

As far as I know this isn't directly possible. You can use Jasper Reports to generate a pdf on the server side. Or, you can use PrintPDF which is a firefox plugin to create one from the web browser.

于 2009-12-27T13:42:11.713 回答
2

您可能需要以下内容:

  1. 捕获页面的 (X)HTML 输出。这可以通过您的 servlet 中的以下代码来完成:

    InputStream is = new URL("http://localhost/foo/page.jsf").openStream();
    
  2. 将捕获的内容转换为 pdf。请参阅飞碟渲染器(以及另外 -此线程

  3. “发送”生成的 pdf。也就是说,只需将您的 pdf 写入(打印)到response.getOutputStream(),并设置 Content-Type 标头 -response.setContentType("application/pdf")

于 2009-12-27T17:00:41.063 回答
1

这可能是一个答案。阅读本文:结合 JSF Facelets 和 Flying Saucer XHTML 渲染器

于 2011-04-18T17:01:39.780 回答