Cómo detectar rotación de página para OCR en C# | IronOCR

Cómo detectar la rotación de página en C# con IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

Determinar la rotación de 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 ha sido rotada en sentido horario o antihorario en ángulos de 0, 90, 180 y 270 grados. Esta información es crucial para renderizar o procesar el documento correctamente, asegurando que las páginas se muestren o impriman en sus orientaciones correctas.

Inicio rápido: Utilizar DetectPageOrientation para identificar la rotación de página

En este ejemplo rápido, los desarrolladores utilizan DetectPageOrientation de IronOCR en un PDF cargado y acceden de inmediato al ángulo de rotación de la página más confiable. Es una forma rápida de detectar y corregir la rotación de página con una configuración y un código mínimos.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronOCR con el gestor de paquetes NuGet

    PM > Install-Package IronOcr

  2. Copie y ejecute este fragmento de código.

    var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation();
    Console.WriteLine(rotationResults.First().RotationAngle);
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


Ejemplo de detección de rotación de página

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 distorsionadas, el método de corrección de imágenes Deskew puede utilizarse. Posteriormente, rote la imagen de nuevo a su orientación original utilizando el grado devuelto por la función. Procedamos con un PDF de ejemplo.

Por favor notaEsta 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();

// 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

Entendiendo el resultado

  • PageNumber: Indica el índice basado en cero de la página.
  • RotationAngle: Proporciona el ángulo de rotación en grados. Además, esta información se puede usar con el método Rotate para devolver la imagen a su orientación vertical.
  • HighConfidence: Indica el nivel de confianza en el resultado de la orientación, lo que ayuda a manejar casos límite de manera más efectiva.

Detección avanzada de rotación de página

El método DetectPageOrientation también le permite proporcionar un parámetro opcional que controla el nivel de detalle en la detección. Proporcionando enums OreitnationDetectioMode como parámetro, los usuarios pueden personalizar y ajustar la velocidad de detección y los detalles según sus necesidades.

Aquí hay un ejemplo rápido de código sobre cómo usarlo.

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

using var input = new OcrInput();

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

// Detect page rotation with Fast mode
var results = input.DetectPageOrientation(OrientationDetectionMode.Fast);

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Actualmente hay cuatro opciones de velocidad disponibles para OrientationDetectionMode:

AdvertenciaPara usar las opciones Balanced , Detailed y ExtremeDetailed es necesario instalar el paquete IronOcr.Extensions.AdvancedScan. Estas opciones no se pueden utilizar en Windows x86 y Mac ARM en este momento.

  • Rápido: El modo de orientación Rápido detecta el ángulo de orientación a alta velocidad pero con baja precisión; Esta es la configuración predeterminada para el método DetectPageOrientation. - Fast: El modo Fast detecta el ángulo rápido pero poco preciso;

  • Equilibrado: El modo de orientación Equilibrado determina el ángulo de orientación con velocidad y precisión equilibradas; - Balanced: El modo Balanced determina el ángulo con velocidad y precisión equilibradas;

  • Detallado: El modo de orientación Detallado determina el ángulo de orientación con baja velocidad pero alta precisión; - Detailed: El modo Detailed determina el ángulo con baja velocidad y alta precisión;

Sin embargo, la velocidad más lenta en comparación con otras opciones hace que sea ideal solo cuando la opción Detailed no es suficiente o cuando la entrada de texto está muy sesgada y distorsionada. Sin embargo, la velocidad más lenta en comparación con otras opciones la hace ideal solo cuando la opción Detallada no es suficiente o el texto ingresado está muy sesgado y distorsionado.

Preguntas Frecuentes

¿Cómo puedo detectar la rotación de página en un documento usando C#?

Puede usar el método DetectPageOrientation de IronOCR para identificar la rotación de páginas en un documento. Este método puede detectar rotaciones en ángulos de 0, 90, 180 y 270 grados.

¿Qué pasos están involucrados en corregir la rotación de páginas en IronOCR?

Primero, use el método DetectPageOrientation para determinar el ángulo de rotación. Luego, aplique el método Rotate con la propiedad RotationAngle para corregir la orientación de la página.

¿Cómo maneja IronOCR las imágenes de documentos sesgadas?

Para imágenes sesgadas, IronOCR ofrece un método Deskew para corregir la distorsión antes de aplicar correcciones de rotación.

¿Qué propiedades ayudan a asegurar una detección precisa de la rotación de página?

La propiedad RotationAngle indica el ángulo necesario para la corrección, mientras que la propiedad HighConfidence muestra el nivel de confianza en la orientación detectada, ayudando a manejar casos límite.

¿Cómo puedo asegurarme de que las páginas de mi documento se muestren correctamente utilizando IronOCR?

Use el método DetectPageOrientation para encontrar el ángulo de rotación y aplique el método Rotate usando este ángulo para corregir la orientación de la página.

¿Puede IronOCR manejar documentos con mucho texto de manera efectiva?

Sí, la función DetectPageOrientation de IronOCR está diseñada para funcionar bien incluso con documentos con mucho texto.

¿Qué indica la propiedad PageNumber en IronOCR?

La propiedad PageNumber indica el índice basado en cero de la página que se está procesando, ayudando a rastrear las correcciones de orientación en múltiples páginas.

¿Cómo corrijo un documento que está tanto rotado como sesgado?

Primero, use el método Deskew de IronOCR para corregir cualquier distorsión, luego aplique el método DetectPageOrientation seguido por el método Rotate usando el RotationAngle detectado para corregir cualquier rotación.

¿Cuál es la importancia de detectar la rotación de páginas en el procesamiento de documentos?

Detectar la rotación de páginas asegura que los documentos se representen y procesen con precisión, manteniendo las orientaciones correctas para su visualización o impresión, lo cual es crítico para aplicaciones como el OCR.

¿Puede IronOCR manejar documentos con múltiples ángulos de rotación en un solo documento?

Sí, IronOCR puede detectar y corregir diferentes ángulos de rotación para cada página en un documento utilizando el método DetectPageOrientation.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 5,167,857 | Version: 2025.11 recién lanzado