iText - создание файлов на лету без необходимости PDF-файла - PullRequest
2 голосов
/ 14 февраля 2012

Я пытаюсь использовать iText для генерации PDF-файла, и у меня есть вопрос относительно генерации.Я хотел бы предоставить PDF-файл браузеру, чтобы браузер отображал его, фактически не создавая файл.

Каков наилучший подход для достижения этой цели?

Одним из ограничений является то, что мне нужно использовать его со страницы JSP - что-то, что могло бы обойти ошибку "getOutputStream уже был вызван однажды", - это то, что я ищу.

Ответы [ 3 ]

4 голосов
/ 15 февраля 2012

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

3 голосов
/ 14 февраля 2012

Записать его в выходной поток сервлета, не забывая установить правильное значение кодировки

2 голосов
/ 14 февраля 2012

Это http://onjava.com/onjava/2003/06/18/dynamic_files.html объясняет, как это сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...