iText使用不相等的页面大小创建文档
我想使用具有不相等页面大小的itext创建一个pdf文件。 我有这两个矩形:
Rectangle one=new Rectangle(70,140); Rectangle two=new Rectangle(700,400);
我正在写这样的pdf:
Document document = new Document(); PdfWriter writer= PdfWriter.getInstance(document, new FileOutputStream(("MYpdf.pdf")));
当我创建文档时,我可以选择指定页面大小,但我想在pdf中为不同页面设置不同的页面大小。 有可能吗?
例如。 第一页将有一个矩形作为页面大小,第二页将有两个矩形作为页面大小。
我为你创建了一个UnequalPages示例,展示了它的工作原理:
Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(dest)); Rectangle one = new Rectangle(70,140); Rectangle two = new Rectangle(700,400); document.setPageSize(one); document.setMargins(2, 2, 2, 2); document.open(); Paragraph p = new Paragraph("Hi"); document.add(p); document.setPageSize(two); document.setMargins(20, 20, 20, 20); document.newPage(); document.add(p); document.close();
在页面初始化之前更改页面大小(和边距)非常重要。 open()
文档时初始化第一页,当发生newPage()
时,所有后续页面都被初始化。 可以显式触发新页面(使用代码中的newPage()
方法)或隐式(通过iText,当页面已满并需要新页面时)。