Если у вас уже есть файл 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 страниц одного и того же файла, вы можете сохранить его как файл.