Skip to main content
Skip table of contents

How to rotate a page 90 degrees?

I am trying to use a PDF for stamping and need to rotate it 90 degrees to lay it on correctly? Anyone know how to do this?

Posted on StackOverflow on Nov 19, 2014 by Casey

Please take a look at the Rotate90Degrees example.

In this example, we use PdfReader to get an instance of the document, and we change the /Rotate value in every page dictionary (if there is no such entry, we add one with value 90):

JAVA
final PdfReader reader = new PdfReader(source);
final int pagesCount = reader.getNumberOfPages();

for (int n = 1; n <= pagesCount; n++) {
    final PdfDictionary page = reader.getPageN(n);
    final PdfNumber rotate = page.getAsNumber(PdfName.ROTATE);
    final int rotation =
            rotate == null ? 90 : (rotate.intValue() + 90) % 360;

    page.put(PdfName.ROTATE, new PdfNumber(rotation));
}

Once this is done, we use a PdfStamper to persist the change:

JAVA
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
reader.close();

This is an iText example. If you want an iTextSharp example, you'll discover that it is very easy to port the Java to C# as the terminology is identical. You just need to change some lower cases into upper cases like this:

JAVA
PdfDictionary page = reader.GetPageN(1);
page.Put(PdfName.ROTATE, new PdfNumber(90));
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.