我想使用具有不相等页面大小的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中为不同的页面设置不同的页面大小。 有可能吗?
EG。第一页将有一个矩形作为页面大小,第二页将有两个矩形作为页面大小。
答案 0 :(得分:13)
我为您创建了一个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,当页面已满并需要新页面时)。