Cómo extraer resultados de lectura en C# con IronOCR
El método Read de IronOCR devuelve un objeto OcrResult que contiene el texto extraído además de metadatos detallados que incluyen coordenadas precisas, dimensiones, dirección del texto y estructura jerárquica (párrafos, líneas, palabras, caracteres) para cada elemento detectado.
El resultado del OCR contiene información exhaustiva sobre párrafos, líneas, palabras y caracteres individuales detectados.
Para cada elemento, proporciona el contenido del texto, las coordenadas X e Y precisas, las dimensiones (anchura y altura), la dirección del texto (de izquierda a derecha o de arriba a abajo) y la ubicación en un objeto CropRectangle.
como-título:2(Inicio rápido: Recuperar texto de la primera palabra detectada)
Utiliza el método Read de IronTesseract para realizar el OCR de una imagen y extraer el texto de la primera palabra utilizando la colección Words.
Empieza a crear PDF con NuGet ahora:
Instalar IronOCR con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;Despliegue para probar en su entorno real
Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue una biblioteca de C# para acceder a los resultados de lectura
- Prepara la imagen de destino y el documento PDF
- Utilice el método
Readpara realizar OCR en el documento importado - Accede a las coordenadas X, Y, ancho, alto y dirección del texto del resultado
- Verifica los párrafos, líneas, palabras y comparaciones de caracteres detectados
¿Qué datos puedo extraer de los resultados del OCR?
El valor resultante no sólo contiene el texto extraído, sino también información sobre páginas, párrafos, líneas, palabras, caracteres y códigos de barras descubiertos en documentos PDF y de imagen por IronOCR. Puede acceder a esta información desde el objeto devuelto OcrResult utilizando el método Read.
El completo sistema de resultados de IronOCR se basa en el potente motor Tesseract 5, que proporciona a los desarrolladores capacidades de extracción de datos estructurados más allá del simple reconocimiento de texto. Tanto si procesa documentos escaneados, fotos o capturas de pantalla, la clase OcrResult le ofrece un control granular sobre los datos extraídos.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.csusing IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
¿Cómo accedo al contenido del texto a partir de los resultados del OCR?
El objeto OcrResult presenta el texto extraído de forma sencilla e intuitiva, lo que permite a los desarrolladores utilizarlo directamente o integrarlo en otros componentes de la aplicación. La estructura jerárquica refleja la organización natural del texto de un documento, lo que facilita el trabajo con contenidos de distintos niveles de granularidad.
Para las aplicaciones que requieren compatibilidad con varios idiomas, IronOCR gestiona sin problemas los documentos multilingües, manteniendo el mismo formato estructurado de resultados en todos los 125 idiomas compatibles.
El siguiente ejemplo de código imprime texto en un bucle para verificar los resultados.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.csusing IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
// Print the text of the current paragraph
Console.WriteLine(paragraph.Text);
// Add a blank line for better separation (optional)
Console.WriteLine();
}
Resultado

La salida de la consola muestra a IronOCR extrayendo el texto del párrafo línea por línea con precisión. El motor detecta automáticamente los límites de los párrafos, por lo que resulta ideal para procesar documentos complejos con varios bloques de texto.
¿Cómo puedo obtener las coordenadas de ubicación del texto detectado?
Además del texto extraído, el OcrResult proporciona datos de localización detallados. Esta información espacial es crucial para las aplicaciones que necesitan mantener la fidelidad del diseño o realizar una extracción de texto específica de regiones concretas del documento. El sistema de coordenadas utiliza medidas estándar de píxeles desde la esquina superior izquierda de la página.
Para una mayor precisión en las operaciones basadas en coordenadas, considere el uso de OCR region targeting para centrarse en áreas específicas, o aproveche las capacidades de Visión por Computador para identificar automáticamente las regiones de texto.
El siguiente código muestra cómo iterar sobre cada párrafo e imprimir sus coordenadas (X e Y) en la consola.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.csusing IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
// Print the text of the current paragraph
Console.WriteLine(paragraph.Text);
// Add a blank line for better separation (optional)
Console.WriteLine();
}
Resultado

El resultado muestra tres conjuntos de coordenadas correspondientes a tres párrafos. Estas coordenadas pueden utilizarse para dibujar cuadros delimitadores, extraer regiones específicas o mantener relaciones espaciales entre elementos de texto.
¿Qué otros atributos están disponibles en los resultados de OCR?
Además de texto y coordenadas de texto, IronOCR proporciona información adicional. Para cada elemento de texto (párrafos, líneas, palabras y caracteres individuales), se dispone de la siguiente información:
- Texto: El texto real en forma de cadena.
- X: La posición desde el borde izquierdo de la página en píxeles.
- Y: La posición desde el borde superior de la página en píxeles.
- Ancho: El ancho en píxeles.
- Altura: La altura en píxeles.
- Dirección del texto: La dirección en la que se leyó el texto (de izquierda a derecha o de arriba abajo).
- Localización: Un rectángulo que muestra en píxeles dónde se encuentra este texto en la página.
Estos atributos son especialmente útiles a la hora de implementar:
- Sistemas de resaltado y anotación de texto
- Detección automática de campos de formulario
- Preservación de la maquetación en la conversión de documentos
- Análisis de texto espacial para la extracción de datos
Para la depuración y visualización, utilice la función resaltar textos para verificar visualmente la precisión de la región detectada.
¿Cómo se comparan párrafos, líneas, palabras y caracteres?
La estructura jerárquica del texto de IronOCR permite a los desarrolladores trabajar en el nivel de detalle adecuado para su caso de uso específico. Comprender las diferencias entre estos elementos ayuda a elegir la granularidad adecuada para su aplicación.
A continuación se muestra la comparación de párrafos, líneas, palabras y caracteres detectados.
![]() Párrafo | ![]() Línea |
![]() Word | ![]() Personaje |
Cada nivel de granularidad sirve para fines distintos:
- Párrafos: lo mejor para el análisis de la estructura de documentos y la extracción masiva de texto
- Líneas: Útiles para mantener el orden de lectura y procesar datos tabulares
- Palabras: Ideal para funciones de búsqueda y análisis de texto
- Caracteres: Perfectos para aplicaciones de corrección ortográfica y edición precisa de texto
¿Puede IronOCR leer códigos de barras y códigos QR?
Sí, IronOCR puede leer códigos de barras y códigos QR. Aunque la función puede no ser tan robusta como IronBarcode, IronOCR proporciona soporte para los tipos de códigos de barras más comunes. Para habilitar la detección de códigos de barras, establezca la propiedad Configuration.ReadBarCodes en true. Esta funcionalidad integrada hace de IronOCR una opción excelente para procesar documentos que contengan texto y códigos de barras, como facturas, etiquetas de envío o catálogos de productos.
Además, se puede extraer información valiosa de los códigos de barras detectados, incluido el formato, el valor, las coordenadas (x, y), la altura, la anchura y la ubicación como objeto IronSoftware.Drawing.Rectangle. Esta clase Rectangle en IronDrawing permite un posicionamiento preciso en el documento.
Para escenarios de lectura de códigos de barras más avanzados, consulte los completos ejemplos de lectura de códigos de barras de nuestra documentación.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.csusing IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;
// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
Console.WriteLine("Format = " + barcode.Format);
Console.WriteLine("Value = " + barcode.Value);
Console.WriteLine("X = " + barcode.X);
Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);¿Qué aspecto tiene la salida de detección de códigos de barras?
La función de detección de códigos de barras de IronOCR se integra a la perfección con la extracción de texto, proporcionando resultados unificados que incluyen tanto contenido textual como datos de códigos de barras. Esta doble capacidad es valiosa para los flujos de trabajo de procesamiento automatizado de documentos en los que es necesario extraer y correlacionar ambos tipos de información.

El resultado demuestra la capacidad de IronOCR para detectar varios tipos de códigos de barras simultáneamente, proporcionando la identificación del formato (como QRCode o EAN8), los valores descodificados y la información precisa de las coordenadas de cada código detectado. Estos datos exhaustivos permiten a los desarrolladores crear sofisticadas aplicaciones de procesamiento de documentos que manejan eficientemente tipos de contenido mixtos.
Preguntas Frecuentes
¿Qué información contiene el objeto OcrResult?
El objeto OcrResult de IronOCR contiene el texto extraído además de metadatos detallados que incluyen coordenadas X/Y precisas, dimensiones (anchura y altura), dirección del texto (de izquierda a derecha o de arriba abajo) y estructura jerárquica organizada como párrafos, líneas, palabras y caracteres individuales para cada elemento detectado.
¿Cómo puedo extraer rápidamente la primera palabra de un resultado de OCR?
Puede extraer el texto de la primera palabra utilizando el método Read de IronOCR y accediendo a la colección Words: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`. Esto proporciona acceso instantáneo a los elementos individuales de la palabra a partir de los resultados del OCR.
¿Qué tipos de datos de coordenadas están disponibles en los resultados del OCR?
IronOCR proporciona coordenadas X e Y precisas para cada elemento detectado (párrafos, líneas, palabras y caracteres), junto con las dimensiones de anchura y altura. Estos datos de coordenadas son accesibles a través del objeto CropRectangle, lo que permite un seguimiento preciso de la ubicación de los elementos de texto.
¿Puedo extraer metadatos más allá del contenido textual?
Sí, IronOCR extrae metadatos completos que incluyen páginas, párrafos, líneas, palabras, caracteres e incluso códigos de barras descubiertos en documentos PDF y de imagen. El objeto OcrResult proporciona acceso a la dirección del texto, la estructura jerárquica y la información espacial de cada elemento.
¿Qué tipos de documentos pueden procesarse para obtener resultados de OCR?
IronOCR puede procesar varios tipos de documentos, incluidos documentos escaneados, fotos, capturas de pantalla, archivos PDF y archivos de imagen. El método Read funciona de forma consistente en todos estos formatos, devolviendo el mismo objeto estructurado OcrResult con metadatos completos.
¿Cómo se organiza el texto extraído en los resultados?
IronOCR organiza el texto extraído en una estructura jerárquica que refleja la organización natural de los documentos. El objeto OcrResult presenta el contenido en diferentes niveles de granularidad, desde páginas enteras hasta caracteres individuales, lo que facilita el trabajo con el texto en el nivel adecuado para su aplicación.










