Я хотел бы предоставить 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, например, в сервлете.