66

How can I set an A4 document in landscape (horizontal) format in iTextSharp?

harriyott
  • 10,505
  • 10
  • 64
  • 103
Luca Romagnoli
  • 12,145
  • 30
  • 95
  • 157

2 Answers2

136

You can set the page size to a rotated A4. E.g. (assuming PDF, but should apply regardless):

iTextSharp.text.Document doc;

// ...initialize 'doc'...

// Set the page size
doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());

I've done this with PDF without trouble, haven't tried it with other doc types.

T.J. Crowder
  • 1,031,962
  • 187
  • 1,923
  • 1,875
  • Crowder, Sir. I also want to change the `PDF` to `landscape mode` will the above code work ??? – Nad Oct 03 '15 at 12:50
  • 3
    What is funny is that doc.SetPageSize(PageSize.A4_LANDSCAPE) does not work, but the answer works. – Timores May 25 '16 at 15:33
21

You can initialize a new document like that:

Document doc = new Document(iTextSharp.text.PageSize.A4.Rotate(), 10, 10, 10, 10);

In this mode all pages will be in landscape mode.

To change the layout of the page inside the document you can use:

doc.SetPageSize(iTextSharp.text.PageSize.A4); // for vertical layout
doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()); // for horizontal layout
Allan Pereira
  • 2,572
  • 4
  • 21
  • 28
Alexei Bondarev
  • 812
  • 7
  • 9