Cómo extraer resultados de lectura

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

por Chaknith Bin

El resultado de la lectura o del reconocimiento óptico de caracteres abarca una gran cantidad de información relativa a los párrafos, líneas, palabras y caracteres individuales detectados. Para cada uno de estos elementos, el resultado ofrece un amplio conjunto de detalles.

Para cada elemento, proporciona el contenido del texto, las coordenadas X e Y precisas, las dimensiones (anchura y altura)dirección del texto (De izquierda a derecha o de arriba abajo)y ubicación en un CropRectangle objeto.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

Echa un vistazo IronOCR en Nuget para una instalación y despliegue rápidos. Con más de 8 millones de descargas, está transformando OCR con C#.

Biblioteca NuGet C# para OCR nuget.org/packages/IronOcr/
Install-Package IronOcr

Considere instalar el IronOCR DLL directamente. Descárguelo e instálelo manualmente para su proyecto o forma GAC: IronOcr.zip

Instalar manualmente en su proyecto

Descargar DLL

Datos en OcrResult

El valor resultante no sólo contiene el texto extraído, sino que también proporciona información sobre páginas, párrafos, líneas, palabras, caracteres y códigos de barras descubiertos en el documento PDF y de imagen por IronOcr. Puede acceder a esta información desde el objeto OcrResult devuelto utilizando el método Read.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using 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}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = 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}")
VB   C#
Datos en OcrResult

Para cada parte del texto, como párrafos, líneas, palabras y caracteres individuales, proporcionamos la siguiente información:

  • Texto: El texto real como 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.
  • Anchura: La anchura en píxeles.
  • Altura: La altura en píxeles.
  • Dirección del texto: La dirección en la que se leyó el texto, como 'De izquierda a derecha' o 'De arriba abajo'.
  • Localización: Un rectángulo que muestra dónde se encuentra este texto en la página en píxeles.

Comparación de párrafos, líneas, palabras y caracteres

A continuación se comparan los párrafos, líneas, palabras y caracteres detectados.

Resaltar párrafo
Línea destacada
Resaltar palabra
Resaltar carácter

Código de barras y código QR

Correcto! IronOcr puede leer códigos de barras y códigos QR. Aunque la característica 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.

Además, se puede extraer información valiosa del código de barras detectado, como su formato, valor, coordenadas (x, y)altura, anchura y ubicación como objeto IronSoftware.Drawing.Rectangle. Esta clase Rectángulo en IronDrawing permite un posicionamiento preciso en el documento.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using 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);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True

' Add image
Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("sample.pdf")
	
	' Perform OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
	
	' Output information to console
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine("Format = " & barcode.Format)
		Console.WriteLine("Value = " & barcode.Value)
		Console.WriteLine("X = " & barcode.X)
		Console.WriteLine("Y = " & barcode.Y)
	Next barcode
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Salida

Detectar códigos de barras

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.