Create mutli-page document dynamically using PDFBox

java, pdf, pdfbox

Solution

As I expected, the answer was staring me right in the face, I just needed someone to point it out for me.

PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_LETTER);
document.addPage(page);
PDPageContentStream content = new PDPageContentStream(document,page);

//generate data for first page

content.close();

//if number of results exceeds what can fit on the first page
page = new PDPage(PDPage.PAGE_SIZE_LETTER);
document.addPage(page);
content = new PDPageContentStream(document,page);

//generate data for second page

content.close();

Thanks to @mkl for the answer.

Problem

I am attempting to create a PDF report from a Java ResultSet. If the report was only one page, I would have no problem here. The issue comes from the fact that the report could be anywhere from one to ten pages long. Right now, I have this to create a single-page document: ``` PDDocument document = new PDDocument(); PDPage page = new PDPage(PDPage.PAGE_SIZE_LETTER); document.addPage(page); PDPageContentStream content = new PDPageContentStream(document,page); ``` So my question is, how do I create pages dynamically as they are needed. Is there an object-oriented answer staring me in the face and I just cannot see it?

Original source