我正在尝试从Java ResultSet创建PDF报告。如果报告只有一页,那么我在这里没有问题。问题出在以下事实:报告可能长达一到十页。现在,我要创建一个单页文档:

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

所以我的问题是,如何根据需要动态创建页面。是否有一个面向对象的答案盯着我,而我却看不见它?

最佳答案

如我所料,答案正直盯着我,我只需要有人为我指出。

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();

感谢@mkl的回答。

10-06 12:40