从JSP输出创建PDF

时间:2010-07-06 09:47:11

标签: jsp pdf pdf-generation itext

我有一个带PDF导出选项的网页。我必须在PDF中显示页面的内容。目前我使用iText PDF Library生成PDF。问题是用iText创建PDF是一个相当大的挑战。此外,我们经常对网页进行布局/ UI更改,因此我们对PDF进行了相同的更改。

有什么方法可以将我的JSP输出转换为PDF。例如,“如果我们将内容类型设置为contentType =”application / vnd.ms-excel“,则JSP表可以呈现为Excel文档。

3 个答案:

答案 0 :(得分:3)

您查看了Jasper Reports吗?它具有XML模板的概念。同样的模板也可用于生成Word / XLS / PDF / CSV / XML输出。

答案 1 :(得分:2)

如果将其与Flying Saucer(a.k.a. XhtmlRenderer)结合使用,则无需更改iText代码生成。然后基本上就像这样简单:

String inputPath = new File("/file.xhtml").toURI().toURL().toString();
OutputStream outputStream = new FileOutputStream("/file.pdf");

ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(inputPath);
renderer.layout();
renderer.createPDF(outputStream);
outputStream.close();

您可以找到包含更多代码示例here的博客。

答案 2 :(得分:0)

您应该查看wkhtmltopdf