Reputation: 16663
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);
Upvotes: 7
Views: 32337
Reputation: 16663
The problem was I was using a wrong RTF reader, the breakline was there, the reader just didn't render it.
Upvotes: 0
Reputation: 15870
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?
Upvotes: 0
Reputation: 1075337
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.
Upvotes: 10