iText使用不相等的页面大小创建文档

时间:2014-04-16 18:20:00

标签: java android pdf itext document

我想使用具有不相等页面大小的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。第一页将有一个矩形作为页面大小,第二页将有两个矩形作为页面大小。

1 个答案:

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