Convert itextsharp PDF from portrait to Landscape mode

17,952

Solution 1

You use

Document doc = new Document(PageSize.A4, 88f, 88f, 10f, 10f);

for portrait PDF. The PageSize.A4 is defined as

Rectangle A4 = new RectangleReadOnly(595,842);

Thus, one way to create a landscape PDF would be to use a RectangleReadOnly with switched width and height values:

Document doc = new Document(new RectangleReadOnly(842,595), 88f, 88f, 10f, 10f);

Alternatively a rotated version of the original rectangle should work, too:

Document doc = new Document(new RectangleReadOnly(595,842,90), 88f, 88f, 10f, 10f);

Solution 2

Change

Doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
Share:
17,952
Shreyas Achar
Author by

Shreyas Achar

Updated on June 18, 2022

Comments

  • Shreyas Achar
    Shreyas Achar almost 2 years

    I have a PDF generation code which was previously downloaded in Portait mode and the code behind is shown below.

    Document doc = new Document(PageSize.A4, 88f, 88f, 10f, 10f);
    

    which was working properly.

    Now I need the same PDF to be converted to Landscape mode, I googled it and found this code.

    Document doc = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10);
    doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
    

    But still its displaying in Portrait mode.Any help appreciated.

  • user3458227
    user3458227 about 10 years
    remove this Document doc = new Document(PageSize.A4, 88f, 88f, 10f, 10f); and do Document document = new Document(PageSize.A4, 25, 25, 30, 30); try it
  • Ricardo Appleton
    Ricardo Appleton almost 7 years
    Haris' answer is simpler
  • mkl
    mkl almost 7 years
    @RicardoAppleton "Haris' answer is simpler" - that may be, but if you look at the question, you'll see that Haris' proposal is identical to one line the OP had tried and (for which reasons ever) was not happy with.