Skip to content

Commit cc0f553

Browse files
SnipxUbuntu
authored andcommitted
Add a comment explaning necessity of page removal during #relayout
1 parent bbabbfd commit cc0f553

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

layout/src/main/java/com/itextpdf/layout/Document.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ public void relayout() {
193193
nextRelayoutRenderer = new DocumentRenderer(this, immediateFlush);
194194
}
195195

196+
// Even though #relayout() only makes sense when immediateFlush=false and therefore no elements
197+
// should have been written to document, still empty pages are created during layout process
198+
// because we need to know the effective page size which may differ from page to page.
199+
// Therefore, we remove all the pages that might have been created before proceeding to relayout elements.
196200
while (pdfDocument.getNumberOfPages() > 0) {
197201
pdfDocument.removePage(pdfDocument.getNumberOfPages());
198202
}

layout/src/main/java/com/itextpdf/layout/renderer/DocumentRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ protected PageSize addNewPage(PageSize customPageSize) {
195195
}
196196

197197
/**
198-
* Ensures that PDF document has n pages. If document has less pages,
198+
* Ensures that PDF document has n pages. If document has fewer pages,
199199
* adds new pages by calling {@link #addNewPage(PageSize)} method.
200200
*
201201
* @param n the expected number of pages if document

0 commit comments

Comments
 (0)