How can you add a new page to an iText document? document.newPage();
doesn't seem to work.
I am using iText with RTF support from http://sourceforge.net/projects/itextrtf/
Part of my code:
Font titleFont = new Font(Font.COURIER, 14, Font.BOLD);
document.add(new Paragraph("Title1", titleFont));
Table table = new Table(4);
table.setBorderWidth(0);
// Filling table
document.add(table);
document.newPage();
document.add(new Paragraph("Title2", titleFont));
Table table = new Table(4);
table.setBorderWidth(0);
// Filling table
document.add(table);
Edit: Re your updated question with code, neither of the below seems to apply. Leaving in case they help someone else out.
Calling newPage
tells iText to place subsequent objects on a new page. The new page will only actually get created when you place the next object (at least, that's what it does for me). Also, newPage
only creates a new page if the current page is not blank; otherwise, it's ignored; you can use setPageBlank(false)
to overcome that.
RTF is no longer supported by iText, as the main author of the relevant code moved on to other projects... or was transformed into a frog... or something. Anyway, I recommend you seek a new RTF library, or perhaps start maintaining it yourself?
At any rate, the Source Is Available, and I suspect the RTFDocument/RTFWriter ignores newPage(). Nope. RtfWriter2.java:
/**
* Adds a page break
*
* @return <code>false</code>
*/
public boolean newPage() {
rtfDoc.add(new RtfNewPage(rtfDoc));
return true;
}
which should just write "//page" into the output file. Is it there?
The problem was I was using a wrong RTF reader, the breakline was there, the reader just didn't render it.