iText-无需PDF文件即可即时生成文件

我正在尝试使用iText生成pdf文件,但我对生成有疑问。我想将PDF提供给浏览器,以便浏览器显示它,而无需实际创建文件。

实现此目标的最佳方法是什么?

一个局限性是我需要在JSP页面中使用它-我正在寻找可以避免“ getOutputStream已经被调用一次”错误的东西。

回答:

我想将PDF提供给浏览器,以便浏览器显示它,而无需实际创建文件。

只需传递responsegetOutputStream()而不是new FileOutputStream即可PdfWriter

PdfWriter pdfWriter = PdfWriter.getInstance(document, response.getOutputStream());

// ...


一个局限性是我需要在JSP页面中使用它-我正在寻找可以避免“ getOutputStream已经被调用一次”错误的东西。

只需删除JSP 外部的 空白<% %>,包括换行符。它们由响应编写器隐式发送到响应。

即不要

<% page import="foo" %>

<% page import="bar" %>

<%

for (int i = 0; i < 1000; i++) {

out.println("I should not use scriptlets.");

}

%>

(newline here)

但更是如此

<% page import="foo" %><% page import="bar" %><%

for (int i = 0; i < 1000; i++) {

out.println("I should use servlets.");

}

%>

或者更好的是,不要将Java代码放在JSP文件中。JSP文件旨在呈现HTML之类的模板文本,而不是做完全不同的事情。在普通的Java类(如servlet)中执行此操作。

以上是 iText-无需PDF文件即可即时生成文件 的全部内容, 来源链接: utcz.com/qa/408413.html

回到顶部