How to Detect Page Rotation

Determining page rotation involves identifying the degree of rotation applied to a page within a document. This process specifically determines if the page has been rotated clockwise or counterclockwise by angles of 0, 90, 180, and 270 degrees. This information is crucial for rendering or processing the document accurately, ensuring that pages are displayed or printed in their correct orientations.

IronOCR takes page rotation detection to the next level. Once rotation has been detected, the returned value can be used in combination with the Rotate method to adjust the image to the correct orientation.

Get started with IronOCR

Start using IronOCR in your project today with a free trial.

First Step:
green arrow pointer



Detect Page Rotation Example

After loading the document, you can utilize the DetectPageOrientation method to identify the rotation of each page. This method supports degrees of 0, 90, 180, and 270. For skewed images, the Deskew image correction method can be used. Subsequently, rotate the image back to its original orientation using the degree returned from the function. Let's proceed with a sample PDF.

[i:{(This function performs well when the document is text-dense.)}]

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation
var results = input.DetectPageOrientation();

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System

Private input = New OcrInput()

' Load PDF document
input.LoadPdf("Clockwise90.pdf")

' Detect page rotation
Dim results = input.DetectPageOrientation()

' Ouput result
For Each result In results
	Console.WriteLine(result.PageNumber)
	Console.WriteLine(result.HighConfidence)
	Console.WriteLine(result.RotationAngle)
Next result
$vbLabelText   $csharpLabel

Understanding the Result

  • PageNumber: Indicates the zero-based index of the page.
  • RotationAngle: Provides the corrective rotation angle in degrees. This angle can be applied to the Rotate method to return the image to right-side-up rotation. For example, if the image is rotated 90 degrees clockwise, the angle returned will be 270, which can then be passed to the Rotate method as input.Rotate(RotationAngle).
  • HighConfidence: Indicates the level of confidence in the orientation result, which helps in handling edge cases more effectively.

Frequently Asked Questions

What is page rotation detection?

Page rotation detection involves identifying the degree to which a page within a document has been rotated, ensuring that pages are displayed or processed in their correct orientations.

Which angles can be detected for page rotation?

IronOCR can detect page rotations at angles of 0, 90, 180, and 270 degrees.

How can I correct the page rotation?

After detecting the page rotation using the `DetectPageOrientation` method, you can use the `Rotate` method with the returned `RotationAngle` to adjust the image to the correct orientation.

What is the `HighConfidence` property used for?

The `HighConfidence` property indicates the level of confidence in the orientation result, helping to handle edge cases more effectively.

What should I do if the document is skewed?

If the document is skewed, you can use the `Deskew` image correction method provided by IronOCR to correct it.

Is the function suitable for text-dense documents?

Yes, the `DetectPageOrientation` function in IronOCR performs well with text-dense documents.

How do I access the rotation angle for a page?

The rotation angle for a page can be accessed via the `RotationAngle` property after running the `DetectPageOrientation` method on the document.

What is the first step to detect page rotation?

The first step is to download a C# library that includes the functionality to detect page rotation.

How is the page number indicated in the result?

The page number is indicated by the `PageNumber` property, which shows the zero-based index of the page.

Can the library handle rotated document images?

Yes, IronOCR can detect and handle rotated document images, allowing you to correct their orientation using the detected rotation angle.

Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.
Reviewed by
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff is also a Principal Program Manager for the .NET and Visual Studio teams. He is the executive producer of the .NET Conf virtual conference series and hosts 'Fritz and Friends' a live stream for developers that airs twice weekly where he talks tech and writes code together with viewers. Jeff writes workshops, presentations, and plans content for the largest Microsoft developer events including Microsoft Build, Microsoft Ignite, .NET Conf, and the Microsoft MVP Summit