HERRAMIENTAS OCR

Biblioteca OCR de recibos (Lista para desarrolladores)

Kannaopat Udonpant
Kannapat Udonpant
6 de junio, 2024
Compartir:

En el entorno de desarrollo .NET, la racionalización de los procesos de introducción manual de datos, en particular con recibos y facturas, ha sido durante mucho tiempo un objetivo para las empresas que buscan eficiencia y precisión. Con el advenimiento de las bibliotecas de OCR (Reconocimiento Óptico de Caracteres) para escaneo de recibos adaptadas a entornos .NET, este objetivo se ha vuelto más alcanzable que nunca. Estas bibliotecas API de OCR de recibos permiten a los desarrolladores integrar sin problemas potentes funciones de recibos en sus aplicaciones .NET, revolucionando los flujos de trabajo de gestión de datos.

La extracción de datos de recibos se puede realizar de forma eficiente utilizando los servicios Document Intelligence de Microsoft Azure. Para obtener más información, consulte Extracción de Datos de Recibos - Microsoft Azure Document Intelligence.

Comprensión de la biblioteca API de recibos y OCR en .NET

Un recibo es un documento que contiene datos clave de una transacción, a menudo presentados en formato de datos no estructurados, que pueden procesarse mediante algoritmos de aprendizaje automático para extraer datos estructurados para su análisis. Las imágenes de recibos contienen todo el texto del documento, lo que facilita la conversión de información no estructurada en datos estructurados, al tiempo que suscita preocupación por la privacidad de los datos.

Las bibliotecas API de OCR de recibos diseñadas para .NET Framework ofrecen un completo conjunto de herramientas y funcionalidades para extraer datos o información pertinente de recibos escaneados o fotografiados. Aprovechando algoritmos avanzados de aprendizaje automático y técnicas de visión por ordenador, estas bibliotecas pueden identificar con precisión texto, números y datos clave como la fecha, el nombre del comerciante, el importe total, etc.

Principales características y ventajas

  1. Precisión y rapidez: Una de las principales ventajas de las bibliotecas OCR para escaneo de recibos en .NET es su capacidad para extraer datos de los recibos con alta precisión y velocidad. Al automatizar el proceso de introducción de datos, estas bibliotecas eliminan la necesidad de introducir o transcribir datos manualmente, lo que reduce los errores y ahorra un tiempo valioso.

  2. Flexibilidad de Integración: Las bibliotecas de OCR de recibos en .NET están diseñadas para integrarse sin problemas con las aplicaciones .NET existentes, lo que facilita a los desarrolladores la incorporación de la funcionalidad de tecnología OCR en sus soluciones de software. Ya se trate de una aplicación de contabilidad, un sistema de gestión de gastos o un software empresarial personalizado, estas bibliotecas pueden integrarse a la perfección para mejorar la capacidad de gestión de datos.

  3. Compatibilidad con idiomas y monedas: Las modernas bibliotecas de OCR de recibos en .NET están equipadas para manejar campos de recibos en múltiples idiomas y monedas. Esto garantiza la versatilidad y adaptabilidad de las empresas que operan en diversas regiones o tratan con clientes y proveedores internacionales.

  4. Personalización y Extensibilidad: Los desarrolladores que trabajan con bibliotecas API de OCR para Recibos o Facturas en .NET tienen la flexibilidad de personalizar y extender la funcionalidad según sus requisitos específicos. Ya se trate de añadir compatibilidad con nuevos formatos de datos o de mejorar la precisión del reconocimiento de campos específicos, estas bibliotecas ofrecen amplias posibilidades de personalización.

  5. Seguridad y Cumplimiento: Las principales bibliotecas OCR de recibos en .NET priorizan la seguridad de los datos y el cumplimiento de las regulaciones de la industria, como el GDPR y el HIPAA. Los sólidos protocolos de encriptación y las estrictas medidas de protección de datos garantizan que la información sensible extraída de los recibos se trate de forma segura y conforme a los requisitos normativos.

Librerías OCR de recibos - Código abierto

1. Teseracto

Tesseract se presenta como uno de los motores de OCR de código abierto más reconocidos, con una gran popularidad y mantenimiento activo. Su atractivo reside en su flexibilidad, que permite la personalización mediante el entrenamiento en conjuntos de datos personalizados. Para las tareas de OCR de recibos, Tesseract puede ser una opción viable, sobre todo si se dispone de una cantidad considerable de datos de entrenamiento específicos para recibos. Sin embargo, hay que tener en cuenta que el proceso de formación puede ser complejo y llevar mucho tiempo, lo que requiere experiencia en la anotación de datos y la optimización de modelos. No obstante, la naturaleza de código abierto de Tesseract fomenta una comunidad vibrante, que ofrece una amplia documentación y recursos de apoyo para ayudar a los desarrolladores a navegar por sus complejidades.

2. EasyOCR

Como un envoltorio fácil de usar alrededor de Tesseract, EasyOCR se presenta como una opción más accesible para los desarrolladores que buscan simplicidad al integrar capacidades de OCR en sus proyectos. Con modelos preformados disponibles para varios idiomas, incluido el inglés, EasyOCR agiliza el proceso de implementación, por lo que resulta especialmente adecuado para los requisitos básicos de OCR de recibos. Al abstraer las complejidades de la funcionalidad subyacente de Tesseract, EasyOCR simplifica el proceso de integración, permitiendo a los desarrolladores centrarse en la lógica de su aplicación sin profundizar en los matices de la configuración del motor de OCR.

API de OCR de recibos - Bibliotecas comerciales

1. API de Google Cloud Vision

Posicionado como un servicio OCR en la nube de pago por uso, Google Cloud Vision API ofrece una solución robusta para las empresas que buscan alta precisión y escalabilidad en sus flujos de trabajo de OCR de recibos. Con modelos preentrenados y optimizados específicamente para datos procedentes de recibos, esta API ofrece un rendimiento impresionante en la extracción de texto de imágenes. Sin embargo, la dependencia de la infraestructura de la nube requiere conectividad a Internet, y los costes de uso pueden acumularse en función del volumen de solicitudes de OCR. No obstante, la comodidad de un servicio gestionado, junto con la experiencia de Google en el aprendizaje automático, hace que Google Cloud Vision API sea una opción atractiva para las empresas con necesidades de OCR variables, como la gestión de la cadena de suministro.

2. API de visión por computador de Microsoft Azure

Similar al Google Cloud Vision API, Microsoft Azure Computer Vision API ofrece un servicio OCR basado en la nube con modelos preentrenados diseñados para el reconocimiento de recibos. Con un modelo de precios de pago por uso, esta API ofrece a las empresas flexibilidad para gestionar los costes de OCR en función del uso. Aprovechando las amplias capacidades de IA de Microsoft, Azure Computer Vision API ofrece un rendimiento fiable en la extracción de información relevante de las fotos de recepción. Además, la perfecta integración con otros servicios de Azure facilita el desarrollo de soluciones integrales de procesamiento de documentos, mejorando la eficiencia y escalabilidad del flujo de trabajo.

3. Motor ABBYY FineReader

Posicionado como un motor OCR comercial, ABBYY FineReader Engine es conocido por su precisión excepcional y características integrales especialmente diseñadas para tareas de procesamiento de documentos, incluida la OCR de recibos. Aunque puede conllevar una licencia comercial, ABBYY FineReader Engine ofrece un rendimiento y una fiabilidad inigualables, lo que lo convierte en la opción preferida para las empresas con estrictos requisitos de OCR. Sin embargo, el coste asociado a ABBYY FineReader Engine puede suponer un obstáculo para los proyectos más pequeños, por lo que es necesario tener muy en cuenta las limitaciones presupuestarias.

4. CualquierOCR

AnyOCR emerge como una biblioteca OCR versátil que ofrece una alta precisión para diversos tipos de documentos, incluidos los recibos. Con opciones para implementación en las instalaciones y en la nube, AnyOCR proporciona a las empresas flexibilidad para elegir el modelo de implementación que mejor se alinee con sus requisitos. Aunque puede requerir una licencia comercial, AnyOCR ofrece un rendimiento y una fiabilidad constantes en distintos casos de uso. Su compatibilidad con recibos, unida a su adaptabilidad a diversos formatos de documentos, posiciona a AnyOCR como una solución OCR integral para empresas que buscan precisión y versatilidad en sus flujos de trabajo de procesamiento de documentos.

Aplicación e integración

La implementación de una biblioteca de OCR en un entorno .NET suele implicar la integración de las API o los SDK de la biblioteca en la arquitectura de la aplicación existente. Los desarrolladores pueden aprovechar la documentación completa, los fragmentos de código de muestra y la asistencia al desarrollador para agilizar el proceso de integración y optimizar la funcionalidad de OCR en sus aplicaciones para extraer datos precisos.

Un ejemplo de biblioteca OCR de recibos en .NET es la biblioteca Tesseract, que es un motor OCR de código abierto mantenido por Google. Tesseract ofrece sólidas funciones de OCR y es compatible con varios idiomas. He aquí un ejemplo sencillo de cómo utilizar Tesseract OCR en una aplicación .NET:

En primer lugar, debe instalar el paquete envolvente de Tesseract.NET a través de NuGet Package Manager:

Install-Package Tesseract
Install-Package Tesseract
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package Tesseract
$vbLabelText   $csharpLabel

Biblioteca OCR para Recibos (Lista para Desarrolladores): Figura 1 - Instalar Tesseract

También tendremos que obtener los datos entrenados específicos del idioma del siguiente repositorio: https://github.com/tesseract-ocr/tessdata/. Coloca esta carpeta tessdata en cualquier directorio y asegúrate de que haces referencia a ella correctamente.

La siguiente imagen se utilizará a modo de demostración:

Biblioteca OCR para Recibos (Lista para Desarrolladores): Figura 2 - Entrada de Recibo

A continuación, puede utilizar el siguiente fragmento de código para realizar el OCR en una imagen de recibo:

using System;
using System.Drawing;
using Tesseract;
namespace ReceiptOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            // Path to the image file
            string imagePath = "path/to/your/receipt/image.jpg";
            // Initialize Tesseract engine
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var img = Pix.LoadFromFile(imagePath))
                {
                    // Set the image for OCR
                    using (var page = engine.Process(img))
                    {
                        // Get the text recognized by Tesseract
                        string recognizedText = page.GetText();
                        // Output the recognized text
                        Console.WriteLine("Recognized Text:");
                        Console.WriteLine(recognizedText);
                    }
                }
            }
        }
    }
}
using System;
using System.Drawing;
using Tesseract;
namespace ReceiptOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            // Path to the image file
            string imagePath = "path/to/your/receipt/image.jpg";
            // Initialize Tesseract engine
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var img = Pix.LoadFromFile(imagePath))
                {
                    // Set the image for OCR
                    using (var page = engine.Process(img))
                    {
                        // Get the text recognized by Tesseract
                        string recognizedText = page.GetText();
                        // Output the recognized text
                        Console.WriteLine("Recognized Text:");
                        Console.WriteLine(recognizedText);
                    }
                }
            }
        }
    }
}
Imports System
Imports System.Drawing
Imports Tesseract
Namespace ReceiptOCR
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Path to the image file
			Dim imagePath As String = "path/to/your/receipt/image.jpg"
			' Initialize Tesseract engine
			Using engine = New TesseractEngine("./tessdata", "eng", EngineMode.Default)
				Using img = Pix.LoadFromFile(imagePath)
					' Set the image for OCR
					Using page = engine.Process(img)
						' Get the text recognized by Tesseract
						Dim recognizedText As String = page.GetText()
						' Output the recognized text
						Console.WriteLine("Recognized Text:")
						Console.WriteLine(recognizedText)
					End Using
				End Using
			End Using
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

En este código:

  • Reemplaza "path/to/your/receipt/image.jpg" con la ruta real a tu archivo de imagen del recibo.
  • TesseractEngine se inicializa con el idioma ("eng" para inglés en este caso) y la ruta al directorio tessdata donde descargaste los archivos de datos de idioma de Tesseract.
  • Pix.LoadFromFile(imagePath) carga la imagen desde la ruta de archivo especificada.
  • engine.Process(img) realiza OCR en la imagen.
  • page.GetText() recupera el texto reconocido del resultado de OCR.

    Este es el resultado del código anterior:

    Biblioteca OCR de recibos (Lista para desarrolladores): Figura 3 - Resultado OCR

    Este ejemplo demuestra un uso básico de Tesseract OCR en una aplicación .NET para extraer todo el texto del documento de una imagen de recibo. Dependiendo de sus necesidades, puede que necesite procesar más el texto reconocido para extraer del recibo campos específicos como la fecha, el nombre del comerciante y el importe total.

La biblioteca definitiva de OCR para recibos: IronOCR - La biblioteca de OCR C#

IronOCR: breve descripción

IronOCR es una biblioteca completa de OCR diseñada específicamente para desarrolladores .NET, que ofrece capacidades avanzadas para extraer texto y datos de imágenes y documentos PDF. Desarrollada por Iron Software, esta biblioteca aprovecha los últimos algoritmos de aprendizaje automático y técnicas de visión por ordenador para ofrecer una precisión y un rendimiento sin precedentes en tareas de OCR.

Librería OCR de Recibos (Lista para Desarrolladores): Figura 4 - IronOCR

Principales características y ventajas

IronOCR contiene todas las características clave que debe tener una API de OCR de recibos. Estas son las principales características y ventajas de IronOCR:

  1. Precisión y Fiabilidad: IronOCR utiliza algoritmos OCR de última generación que garantizan una alta precisión en el reconocimiento de texto de recibos y facturas. Ya sea al tratar con texto impreso, imágenes distorsionadas o diversas fuentes e idiomas, IronOCR ofrece resultados confiables de manera constante, minimizando errores en la extracción de datos.

  2. Versatilidad y Adaptabilidad: IronOCR admite una amplia gama de formatos de imagen, incluyendo JPEG, PNG, TIFF y PDF, lo que lo hace versátil para procesar recibos en diferentes tipos de archivos. Además, ofrece soporte multiidioma, permitiendo a las empresas procesar recibos de diversas regiones e idiomas de manera fluida.

  3. Fácil integración con .NET: Como biblioteca nativa de .NET, IronOCR se integra perfectamente con las aplicaciones .NET existentes, haciendo que la implementación sea sencilla para los desarrolladores. Tanto si crean aplicaciones web, software de escritorio o soluciones basadas en la nube, los desarrolladores pueden aprovechar las API y los SDK de IronOCR sin esfuerzo en sus proyectos .NET.

  4. Extracción de Datos Mejorada: IronOCR va más allá del simple reconocimiento de texto al ofrecer capacidades avanzadas de extracción de datos. Los desarrolladores pueden definir regiones de interés personalizadas en los recibos para extraer campos específicos como la fecha, el nombre del comerciante, el importe total y las partidas. Este control granular garantiza una extracción de datos precisa y adaptada a las necesidades de la empresa.

  5. Escalabilidad y Rendimiento: IronOCR está diseñado para una solución escalable, capaz de manejar grandes volúmenes de recibos y facturas de manera eficiente. Tanto si procesa lotes de documentos en tiempo real como de forma asíncrona, IronOCR ofrece un rendimiento óptimo sin comprometer la precisión, lo que lo hace adecuado para aplicaciones de nivel empresarial.

Proceso de instalación

Aquí están los pasos para instalar IronOCR utilizando NuGet Package Manager para sus soluciones:

  1. Abra Visual Studio y abra su solución.

  2. En el Explorador de soluciones, haz clic derecho en tu solución (el nodo más alto) y selecciona "Administrar paquetes NuGet para la solución...".

  3. En la ventana "NuGet Package Manager for Solution", asegúrese de que la pestaña "Examinar" está seleccionada a la izquierda.

    1. En el cuadro de búsqueda de la esquina superior derecha, escriba "IronOCR" y pulse Intro.

    Biblioteca OCR de Recibos (Lista para Desarrolladores): Figura 5 - Instalar IronOCR

  4. Haga clic en el botón "Instalar" para iniciar el proceso de instalación.

  5. Una vez finalizada la instalación, debería aparecer un mensaje indicando que la instalación se ha realizado correctamente.

Ejemplo de implementación con IronOCR - Escaneado de recibos

A continuación se muestra un ejemplo sencillo que ilustra el proceso completo de extracción del recibo IronOCR y muestra los datos del recibo de forma eficiente.

using IronOcr;
namespace ReceiptOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = new IronTesseract().Read(@"assets\receipt.jpg").Text;
            // Output the recognized text
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(text);
        }
    }
}
using IronOcr;
namespace ReceiptOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = new IronTesseract().Read(@"assets\receipt.jpg").Text;
            // Output the recognized text
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(text);
        }
    }
}
Imports IronOcr
Namespace ReceiptOCR
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim text As String = (New IronTesseract()).Read("assets\receipt.jpg").Text
			' Output the recognized text
			Console.WriteLine("Recognized Text:")
			Console.WriteLine(text)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Para obtener una guía detallada sobre la extracción de datos de recibos OCR usando IronOCR, visite: Using IronOCR for Receipt Data Extraction.Aquí está el resultado del código de muestra anterior:

Librería de OCR de Recibos (Lista Para Desarrolladores): Figura 6 - Resultados del OCR de Recibos

Para obtener información más detallada y más funcionalidades de OCR, por favor visite la página de documentación y ejemplos de código.

Conclusión

Las bibliotecas de OCR de recibos adaptadas para .NET ofrecen una potente solución para las empresas que buscan mejorar las capacidades de gestión de datos y agilizar los flujos de trabajo administrativos. Al automatizar la extracción de información de recibos y facturas, estas bibliotecas permiten a los desarrolladores crear aplicaciones sólidas y eficaces que ofrecen una precisión y productividad superiores. Gracias a su flexibilidad para integrarse sin problemas en entornos .NET existentes y a su capacidad para admitir varios idiomas y divisas, las bibliotecas de OCR de recibos en .NET están preparadas para revolucionar los procesos de introducción de datos e impulsar la excelencia operativa en empresas de todos los tamaños.

IronOCR surge como la elección definitiva para las empresas que buscan una biblioteca de OCR de recibos fiable y eficaz en entornos .NET. Gracias a su incomparable precisión, versatilidad y perfecta integración con las aplicaciones .NET, IronOCR es la única tecnología que permite a los desarrolladores agilizar los procesos de introducción de datos, mejorar la productividad e impulsar la excelencia operativa. Ya sea automatizando el procesamiento de recibos en sistemas de contabilidad, plataformas de gestión de gastos o aplicaciones empresariales personalizadas, IronOCR demuestra ser un activo valioso para optimizar los flujos de trabajo de gestión de datos y lograr una mayor eficiencia en las empresas modernas.

Al elegir IronOCR, las empresas pueden liberar todo el potencial de la tecnología OCR e impulsar su viaje de transformación digital hacia el éxito. Para este propósito, IronOCR ofrece una prueba gratuita para probar su funcionalidad completa. Su Licencia Lite comienza desde $749 sin tarifas recurrentes. Descarga la biblioteca desde la página de descarga y pruébala.

Kannaopat Udonpant
Ingeniero de software
Antes de convertirse en ingeniero de software, Kannapat realizó un doctorado en Recursos Medioambientales en la Universidad de Hokkaido (Japón). Mientras cursaba su licenciatura, Kannapat también se convirtió en miembro del Laboratorio de Robótica Vehicular, que forma parte del Departamento de Ingeniería de Bioproducción. En 2022, aprovechó sus conocimientos de C# para unirse al equipo de ingeniería de Iron Software, donde se centra en IronPDF. Kannapat valora su trabajo porque aprende directamente del desarrollador que escribe la mayor parte del código utilizado en IronPDF. Además del aprendizaje entre iguales, Kannapat disfruta del aspecto social de trabajar en Iron Software. Cuando no está escribiendo código o documentación, Kannapat suele jugar con su PS5 o volver a ver The Last of Us.
< ANTERIOR
Cómo convertir una imagen en texto
SIGUIENTE >
Lista de bibliotecas OCR para Android: Encuentre la herramienta adecuada