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,当页面已满并需要新页面时)。