iText添加新页面
如何在iText文档中添加新页面? document.newPage();
似乎没有用。
我正在使用来自http://sourceforge.net/projects/itextrtf/的支持RTF的iText
我的部分代码:
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);
编辑 :使用代码重新更新您的问题,以下两者似乎都不适用。 如果他们帮助别人出去的话。
调用newPage
告诉iText将后续对象放在新页面上。 只有在放置下一个对象时才会实际创建新页面(至少,它对我的作用是什么)。 此外,如果当前页面不为空,则newPage
仅创建新页面; 否则,它被忽略了; 你可以使用setPageBlank(false)
来克服这一点。
iText不再支持RTF,因为相关代码的主要作者转移到其他项目……或者变成了青蛙……或者某种东西。 无论如何,我建议你寻找一个新的RTF库,或者自己开始维护它?
无论如何,源是可用的,我怀疑RTFDocument / RTFWriter忽略newPage()。 不。 RtfWriter2.java:
/** * Adds a page break * * @return
false
*/ public boolean newPage() { rtfDoc.add(new RtfNewPage(rtfDoc)); return true; }
应该只将“// page”写入输出文件。 它在那吗?
问题是我使用的是错误的RTF阅读器,断线就在那里,读者只是没有渲染它。