Cómo detectar la rotación de páginas

por Chaknith Bin

Determinar la rotación de la página implica identificar el grado de rotación aplicado a una página dentro de un documento. Este proceso determina específicamente si la página se ha girado en el sentido de las agujas del reloj o en sentido contrario en ángulos de 0, 90, 180 y 270 grados. Esta información es crucial para representar o procesar el documento con precisión, garantizando que las páginas se muestren o impriman en sus orientaciones correctas.

IronOCR lleva la detección de rotación de páginas al siguiente nivel. Una vez detectada la rotación, el valor devuelto puede utilizarse en combinación con el método Rotate para ajustar la imagen a la orientación correcta.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Detectar rotación de página Ejemplo

Después de cargar el documento, puede utilizar el método DetectPageOrientation para identificar la rotación de cada página. Este método admite grados de 0, 90, 180 y 270. Para imágenes sesgadas, se puede utilizar el método de corrección de imágenes Deskew. A continuación, vuelva a girar la imagen a su orientación original utilizando el grado devuelto por la función. Procedamos con un muestra PDF.

Tenga en cuenta
Esta función funciona bien cuando el documento tiene mucho texto.

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

//  Cargar documento PDF
input.LoadPdf("Clockwise90.pdf");

//  Detectar la rotación de páginas
var results = input.DetectPageOrientation();

//  Resultado de la salida
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()

'  Cargar documento PDF
input.LoadPdf("Clockwise90.pdf")

'  Detectar la rotación de páginas
Dim results = input.DetectPageOrientation()

'  Resultado de la salida
For Each result In results
	Console.WriteLine(result.PageNumber)
	Console.WriteLine(result.HighConfidence)
	Console.WriteLine(result.RotationAngle)
Next result
VB   C#

Comprender el resultado

  • NúmeroDePágina: Indica el índice de base cero de la página.
  • Ángulo de rotación: Proporciona el ángulo de rotación correctivo en grados. Este ángulo se puede aplicar al método Rotate para que la imagen vuelva a girar hacia la derecha. Por ejemplo, si la imagen se gira 90 grados en el sentido de las agujas del reloj, el ángulo devuelto será 270, que puede pasarse al método Rotate como input.Rotate(Ángulo de rotación).
  • AltaConfianza: Indica el nivel de confianza en el resultado de la orientación.

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.