iText create document with unequal page sizes

10,003

I've created an UnequalPages example for you that shows how it works:

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();

It is important to change the page size (and margins) before the page is initialized. The first page is initialized when you open() the document, all following pages are initialized when a newPage() occurs. A new page can be triggered explicitly (using the newPage() method in your code) or implicitly (by iText, when a page was full and a new page is needed).

Share:
10,003
harveyslash
Author by

harveyslash

Lost soul swimming in a fish bowl

Updated on June 25, 2022

Comments

  • harveyslash
    harveyslash almost 2 years

    I want to create a pdf file using itext that has unequal page sizes. I have these two rectangles:

    Rectangle one=new Rectangle(70,140);
     Rectangle two=new Rectangle(700,400);
    

    and i am writing to the pdf like this :

    Document document = new Document();
      PdfWriter writer=  PdfWriter.getInstance(document, new FileOutputStream(("MYpdf.pdf")));
    

    when I create the document, I have the option to specify the page size , but I want different page sizes for different pages in my pdf. Is it possible to do that ?

    Eg. The first page will have rectangle one as the page size, and the second page will have rectangle two as the page size.