Saltar al pie de página
USANDO IRONOCR

Cómo crear un software de OCR en C#

El reconocimiento óptico de caracteres (OCR) es una tecnología que transforma varios formatos de documentos, incluidos documentos escaneados en papel, archivos PDF, archivos digitales o imágenes de texto impreso tomadas con una cámara digital, en datos de texto codificados por máquina, editables y buscables.

IronOCR es una excelente biblioteca de motores OCR que ofrece potentes funcionalidades de OCR a los desarrolladores. En este artículo, exploraremos cómo realizar OCR usando IronOCR con ejemplos de código con Demo de Software OCR.

¿Qué es IronOCR?

IronOCR es una poderosa biblioteca .NET diseñada para facilitar el reconocimiento óptico de caracteres (OCR) dentro de aplicaciones C# y VB.NET. Aprovechando algoritmos avanzados y técnicas de aprendizaje automático, IronOCR puede extraer con precisión texto y contenido de archivos PDF escaneados, imágenes y PDFs, haciendo que sea más fácil procesar, buscar y analizar tales archivos programáticamente.

Con su API sencilla y sus extensas características, los desarrolladores pueden integrar sin problemas capacidades de OCR en sus aplicaciones para automatizar tareas de extracción de datos, procesamiento de documentos, ingreso de datos y gestión de contenido. Ya sea que estés trabajando en negocios, con facturas, informes, extracción automatizada de datos, un PDF buscable, o cualquier otro documento rico en texto, IronOCR ofrece una solución confiable para manejar los requisitos de OCR de manera eficiente.

Introducción a IronOCR

Antes de profundizar en los ejemplos de código, necesitas instalar IronOCR via NuGet Package Manager. Puedes instalar IronOCR ejecutando el siguiente comando en la Consola del Administrador de Paquetes:

Install-Package IronOcr

Realizar OCR con IronOCR

Reconocimiento de texto básico

Para realizar el reconocimiento básico de texto utilizando IronOCR, puedes usar el siguiente fragmento de código:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using (var ocrInput = new OcrInput("ocr.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;
            Console.WriteLine(recognizedText);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using (var ocrInput = new OcrInput("ocr.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;
            Console.WriteLine(recognizedText);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		Using ocrInput As New OcrInput("ocr.png")
			Dim ocrResult = ocrTesseract.Read(ocrInput)
			Dim recognizedText As String = ocrResult.Text
			Console.WriteLine(recognizedText)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Este código utiliza IronOCR para realizar reconocimiento óptico de caracteres (OCR) en un archivo de imagen llamado "ocr.png". Inicializa un objeto IronTesseract y lee la capa de texto del archivo de imagen en un objeto OcrInput.

El resultado de OCR se recupera como recognizedText y se imprime en la consola.

Producción
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00

Opciones avanzadas de OCR

IronOCR proporciona varias opciones que te permiten personalizar el proceso de OCR de acuerdo con tus archivos de imagen y requisitos. Por ejemplo, puedes especificar el idioma de OCR, ajustar la configuración de preprocesamiento de la imagen o habilitar la limpieza del texto. Aquí hay un ejemplo que demuestra algunas de estas opciones avanzadas:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\image.png");

        // Set OCR language to English
        ocr.Language = OcrLanguage.English;

        // Enable text cleaning and enhance the resolution
        ocrInput.DeNoise();
        ocrInput.EnhanceResolution(225);

        var result = ocr.Read(ocrInput);
        if (!string.IsNullOrEmpty(result.Text))
        {
            Console.WriteLine($"Recognized Text: {result.Text}");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\image.png");

        // Set OCR language to English
        ocr.Language = OcrLanguage.English;

        // Enable text cleaning and enhance the resolution
        ocrInput.DeNoise();
        ocrInput.EnhanceResolution(225);

        var result = ocr.Read(ocrInput);
        if (!string.IsNullOrEmpty(result.Text))
        {
            Console.WriteLine($"Recognized Text: {result.Text}");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Dim ocrInput As New OcrInput()
		ocrInput.LoadImage("images\image.png")

		' Set OCR language to English
		ocr.Language = OcrLanguage.English

		' Enable text cleaning and enhance the resolution
		ocrInput.DeNoise()
		ocrInput.EnhanceResolution(225)

		Dim result = ocr.Read(ocrInput)
		If Not String.IsNullOrEmpty(result.Text) Then
			Console.WriteLine($"Recognized Text: {result.Text}")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

El código utiliza IronOCR para realizar OCR en un archivo de imagen "image.png" ubicado en la carpeta "images". Establece el idioma de OCR en inglés, limpia el ruido de la imagen y mejora su resolución. El texto reconocido de la imagen se extrae y luego se imprime en la consola.

Cómo Crear Demo de Software OCR en C#: Figura 1

Lectura de códigos de barras

IronOCR también admite la lectura de códigos de barras, lo que te permite crear software para extraer información de códigos de barras desde imágenes. Aquí hay un ejemplo de código que demuestra cómo leer un código de barras usando IronOCR:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\imageWithBarcode.png");

        var ocrResult = ocrTesseract.Read(ocrInput);
        foreach (var barcode in ocrResult.Barcodes)
        {
            Console.WriteLine(barcode.Value);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\imageWithBarcode.png");

        var ocrResult = ocrTesseract.Read(ocrInput);
        foreach (var barcode in ocrResult.Barcodes)
        {
            Console.WriteLine(barcode.Value);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		ocrTesseract.Configuration.ReadBarCodes = True

		Dim ocrInput As New OcrInput()
		ocrInput.LoadImage("images\imageWithBarcode.png")

		Dim ocrResult = ocrTesseract.Read(ocrInput)
		For Each barcode In ocrResult.Barcodes
			Console.WriteLine(barcode.Value)
		Next barcode
	End Sub
End Class
$vbLabelText   $csharpLabel

El código utiliza IronOCR para detectar y leer códigos de barras desde un archivo de imagen "imageWithBarcode.png" en la carpeta "images". Configura IronOCR para habilitar la lectura de códigos de barras estableciendo ReadBarCodes en verdadero. Los valores de los códigos de barras detectados se imprimen luego en la consola.

Cómo Crear Demo de Software OCR en C#: Figura 2

Extracción de texto PDF

IronOCR también puede extraer texto de PDFs y documentos escaneados. Aquí hay un ejemplo de código que demuestra cómo extraer texto de un archivo PDF usando IronOCR:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();

        // OCR entire document
        ocrInput.LoadPdf("Email_Report.pdf");

        // Alternatively OCR selected page numbers
        int[] pages = { 1, 2, 3, 4, 5 };
        ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");

        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();

        // OCR entire document
        ocrInput.LoadPdf("Email_Report.pdf");

        // Alternatively OCR selected page numbers
        int[] pages = { 1, 2, 3, 4, 5 };
        ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");

        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		Dim ocrInput As New OcrInput()

		' OCR entire document
		ocrInput.LoadPdf("Email_Report.pdf")

		' Alternatively OCR selected page numbers
		Dim pages() As Integer = { 1, 2, 3, 4, 5 }
		ocrInput.LoadPdfPages("example.pdf", pages, Password:= "password")

		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

El código utiliza IronOCR para realizar el procesamiento de OCR en un documento PDF llamado "Email_Report.pdf". Puede realizar OCR de todo el documento usando LoadPdf, o páginas específicas de "example.pdf" usando LoadPdfPages con una contraseña. El texto reconocido de la operación OCR se imprime en la consola.

Cómo Crear Demo de Software OCR en C#: Figura 3

Conclusión

IronOCR es una poderosa biblioteca .NET que ofrece capacidades de software OCR avanzadas, facilitando a los desarrolladores la realización de tareas de OCR en sus aplicaciones. En este artículo, exploramos cómo realizar la Demo de Software OCR básica y avanzada usando IronOCR con ejemplos de código.

Si estás trabajando en un proyecto .NET y necesitas integrar funcionalidad OCR, IronOCR definitivamente vale la pena considerar al mirar diferentes motores de OCR. Su facilidad de uso, velocidad, flexibilidad y amplia documentación lo convierten en una opción popular entre los desarrolladores para tareas de automatización de OCR.

Entonces, ¿por qué no probar IronOCR y ver cómo puede simplificar tu propio proceso de desarrollo de proyectos OCR? Puede ser el mejor motor OCR para tus proyectos.

IronOCR ofrece una licencia de prueba gratuita y luego comienza desde $799 USD, lo que te permite seguir aprovechando al máximo IronOCR en tus proyectos.

Para saber más sobre IronOCR visita aquí.

Preguntas Frecuentes

¿Cómo puedo realizar OCR en C#?

Puedes realizar OCR en C# utilizando la biblioteca IronOCR. Primero, instálala a través del Administrador de Paquetes NuGet con el comando Install-Package IronOcr. Luego, usa el objeto IronTesseract para leer texto de imágenes o PDF y convertirlos en texto editable.

¿Qué pasos están involucrados en extraer texto de una imagen usando C#?

Para extraer texto de una imagen en C#, usa IronOCR creando una instancia del objeto IronTesseract. Carga tu imagen, como 'ocr.png', y llama al método Read() para procesar la imagen y extraer el texto.

¿Puedo personalizar el proceso OCR con IronOCR?

Sí, IronOCR te permite personalizar el proceso OCR configurando opciones como el idioma OCR, habilitando el preprocesamiento de imágenes para la reducción de ruido y ajustando la resolución para mejorar la precisión.

¿Es posible realizar la lectura de códigos de barras con IronOCR?

Sí, IronOCR admite la lectura de códigos de barras. Puedes configurarlo para detectar y extraer información de códigos de barras de imágenes habilitando la función de lectura de códigos de barras dentro de tu configuración OCR.

¿Cómo extraigo texto de un PDF usando C#?

Usando IronOCR, puedes extraer texto de archivos PDF en C#. Puedes elegir hacer OCR de todo el documento o de páginas específicas cargando el PDF en IronTesseract y usando su método Read() para extraer el texto.

¿Qué hace que IronOCR sea una opción recomendada para desarrolladores?

IronOCR es recomendado para desarrolladores debido a sus características completas de OCR, facilidad de uso, procesamiento rápido y flexibilidad. Se integra perfectamente en proyectos .NET, permitiendo una automatización eficiente de tareas OCR.

¿Hay opciones de licencia disponibles para IronOCR?

IronOCR ofrece varias opciones de licencia, comenzando con una prueba gratuita. Los desarrolladores pueden elegir entre diferentes licencias para continuar usando las capacidades completas de IronOCR en sus aplicaciones.

¿Dónde puedo encontrar ejemplos de código para usar IronOCR?

Puedes encontrar ejemplos de código para usar IronOCR en el artículo 'Demo de Software OCR en C# (Tutorial para Desarrolladores).' Los ejemplos demuestran reconocimiento de texto básico, opciones OCR avanzadas y lectura de códigos de barras.

Kannaopat Udonpant
Ingeniero de Software
Antes de convertirse en Ingeniero de Software, Kannapat completó un doctorado en Recursos Ambientales de la Universidad de Hokkaido en Japón. Mientras perseguía su grado, Kannapat también se convirtió en miembro del Laboratorio de Robótica de Vehículos, que es parte del Departamento de Ingeniería ...
Leer más