Как показать ограниченное количество страниц PDF-файла в JSP с помощью iText? - PullRequest
2 голосов
/ 27 августа 2011

Мне нужно отобразить документ PDF на странице JSP. Документ PDF имеет 25 страниц, но я хочу отобразить только 10 страниц файла PDF. Как я могу добиться этого с помощью iText?

1 Ответ

2 голосов
/ 29 августа 2011

Если у вас уже есть файл PDF.

Вы можете использовать PdfStamper и PdfCopy, чтобы разрезать PDF вверх:

PdfReader reader = new PdfReader("THE PDF SOURCE");

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Document document = new Document();
PdfCopy copy = new PdfCopy(document, outputStream);
document.open();
PdfStamper stamper = new PdfStamper(reader, outputStream);
for (int i = 1; i < reader.getNumberOfPages(); i++) {
   // Select what pages you need here
   PdfImportedPage importedPage = stamper.getImportedPage(reader, i);
   copy.addPage(importedPage);
}
copy.freeReader(reader);
outputStream.flush();
document.close();

// Now you can send the byte array to your user
// set content type to application/pdf 

Что касается отправки PDF для отображения, это зависит от того, как вы его отображаете. Выходной поток в конце предоставленного кода будет содержать страницы, которые вы копируете в цикле, в примере это все страницы.

По сути, это новый файл PDF, но в памяти. Если каждый раз одни и те же 10 страниц одного и того же файла, вы можете сохранить его как файл.

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