Saltar al pie de página
USANDO IRONOCR

API de factura OCR (Tutorial para desarrolladores)

La API de OCR de facturas utiliza aprendizaje automático y visión por computadora para transformar los datos de la factura en un formato adecuado para el procesamiento automatizado. Esta tecnología aborda problemas de entrada de datos manuales como retrasos, costos y errores, extrayendo con precisión detalles como información del proveedor, números de factura y precios de facturas tanto digitales como escaneadas.

Este artículo utilizará una API de OCR de facturas de primera línea llamada IronOCR.

1. IronOCR

IronOCR, desarrollado por Iron Software, es una biblioteca OCR que ofrece una gama de herramientas para desarrolladores. Utiliza aprendizaje automático y visión por computadora para extraer texto de documentos escaneados, imágenes y PDFs, permitiendo el procesamiento automatizado. Sus APIs se integran en varios lenguajes y plataformas, reduciendo errores de entrada manual de datos y mejorando la eficiencia. Los datos extraídos pueden ser analizados e integrados en sistemas existentes, ayudando en la toma de decisiones y productividad. Características como preprocesamiento de imágenes, reconocimiento de códigos de barras, y análisis de archivos aumentan su versatilidad. IronOCR otorga a los desarrolladores la capacidad de incorporar reconocimiento de texto en sus aplicaciones.

2. Requisitos previos

Antes de poder comenzar a trabajar con IronOCR, hay algunos requisitos previos que deben estar en su lugar. Estos requisitos previos incluyen:

  1. Asegúrate de tener un entorno de desarrollo adecuado configurado en tu computadora. Esto típicamente implica tener un Entorno de Desarrollo Integrado (IDE) como Visual Studio instalado.
  2. Es importante tener un entendimiento básico del lenguaje de programación C#. Esto te permitirá comprender y modificar los ejemplos de código proporcionados en el artículo de manera efectiva.
  3. Necesitarás tener la biblioteca IronOCR instalada en tu proyecto. Esto se puede lograr usando el Administrador de Paquetes NuGet dentro de Visual Studio o a través de la interfaz de línea de comandos.

Al asegurarte de que se cumplen estos requisitos previos, estarás listo para sumergirte en el proceso de trabajar con IronOCR.

3. Creación de un nuevo proyecto de Visual Studio

Para comenzar con IronOCR, el primer paso es crear un nuevo proyecto de Visual Studio.

Abre Visual Studio y ve a Archivos, luego pasa por encima de Nuevo y haz clic en Proyecto.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 1 - Nuevo Proyecto Nuevo Proyecto

En la nueva ventana, selecciona Aplicación de Consola y haz clic en Siguiente.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 2 - Aplicación de Consola Aplicación de Consola

Aparecerá una nueva ventana, escribe el nombre de tu nuevo proyecto y ubicación y haz clic en Siguiente.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 3 - Configuración del Proyecto Configuración del Proyecto

Finalmente, indica el marco de trabajo objetivo (Target framework) y haz clic en Crear.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 4 - Marco de Trabajo Objetivo Marco de Trabajo Objetivo

Ahora se ha creado tu nuevo proyecto de Visual Studio. Vamos a instalar IronOCR.

4. Instalación de IronOCR

Hay varios métodos para descargar e instalar la biblioteca IronOCR. Pero aquí están las dos maneras más simples.

  1. Usando el Administrador de Paquetes NuGet de Visual Studio
  2. Usando la Línea de Comandos de Visual Studio

4.1. Uso del Administrador de paquetes NuGet de Visual Studio

IronOCR puede ser incluido en un proyecto C# utilizando el Administrador de Paquetes NuGet de Visual Studio.

Navega a la interfaz gráfica de usuario del Administrador de Paquetes NuGet seleccionando Herramientas > Administrador de Paquetes NuGet > Administrar Paquetes NuGet para la Solución

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 5 - Administrador de Paquetes NuGet Administrador de Paquetes NuGet

Después de esto, aparecerá una nueva ventana. Busca IronOCR e instala el paquete en el proyecto.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 6 - Seleccionar el paquete IronOCR en la interfaz de usuario del Administrador de Paquetes NuGet Selecciona el paquete IronOCR en el Administrador de Paquetes NuGet

Los paquetes de idiomas adicionales para IronOCR también pueden instalarse utilizando el mismo método descrito anteriormente.

4.2. Uso de la línea de comandos de Visual Studio

  1. En Visual Studio, ve a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes
  2. Ingresa la siguiente línea en la pestaña Consola del Administrador de Paquetes para instalar IronOCR:

    Install-Package IronOcr

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 7 - Consola del Administrador de Paquetes Consola del Administrador de Paquetes

El paquete ahora se descargará/instalará en el proyecto actual y estará listo para usarse.

5. Extraer datos de facturas mediante IronOCR

Usando IronOCR, puedes extraer fácilmente datos de facturas con solo unas pocas líneas de código y utilizar esa extracción de datos para procesos adicionales como entrada de datos. Esto reemplazará la entrada de datos manual y mucho más.

Aquí hay un ejemplo de factura para extraer texto.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 8 - La Factura de ejemplo La factura de muestra

Ahora, escribamos el código para extraer todos los datos de esta factura.

using IronOcr;
using System;

// Initialize a new instance of the IronTesseract class
var ocr = new IronTesseract();

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Read the image using the Read method, which performs OCR
    var result = ocr.Read(input);

    // Output the extracted text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

// Initialize a new instance of the IronTesseract class
var ocr = new IronTesseract();

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Read the image using the Read method, which performs OCR
    var result = ocr.Read(input);

    // Output the extracted text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System

' Initialize a new instance of the IronTesseract class
Private ocr = New IronTesseract()

' Use the OcrInput object to load the image file
Using input = New OcrInput("r2.png")
	' Read the image using the Read method, which performs OCR
	Dim result = ocr.Read(input)

	' Output the extracted text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

El código anterior obtiene entrada en forma de imagen y luego extrae datos de esa imagen usando un método Read de la clase IronTesseract.

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 9 - Analizador de Facturas Analizador de Facturas

5.1. Procesamiento de facturas para extraer datos específicos de las facturas

También puedes extraer datos específicos de las facturas como números de factura del cliente. A continuación, el código para extraer el número de factura del cliente de la factura.

using IronOcr;
using System;
using System.Text.RegularExpressions;

// Initialize a new instance of the IronTesseract class
var ocr = new IronTesseract();

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Perform OCR on the image
    var result = ocr.Read(input);

    // Define a regular expression pattern for the invoice number
    var linePattern = @"INV\/\d{4}\/\d{5}";

    // Match the pattern in the extracted text
    var lineMatch = Regex.Match(result.Text, linePattern);

    // Check if the pattern matches any part of the text
    if (lineMatch.Success)
    {
        // If a match is found, print the invoice number
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }
}
using IronOcr;
using System;
using System.Text.RegularExpressions;

// Initialize a new instance of the IronTesseract class
var ocr = new IronTesseract();

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Perform OCR on the image
    var result = ocr.Read(input);

    // Define a regular expression pattern for the invoice number
    var linePattern = @"INV\/\d{4}\/\d{5}";

    // Match the pattern in the extracted text
    var lineMatch = Regex.Match(result.Text, linePattern);

    // Check if the pattern matches any part of the text
    if (lineMatch.Success)
    {
        // If a match is found, print the invoice number
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }
}
Imports IronOcr
Imports System
Imports System.Text.RegularExpressions

' Initialize a new instance of the IronTesseract class
Private ocr = New IronTesseract()

' Use the OcrInput object to load the image file
Using input = New OcrInput("r2.png")
	' Perform OCR on the image
	Dim result = ocr.Read(input)

	' Define a regular expression pattern for the invoice number
	Dim linePattern = "INV\/\d{4}\/\d{5}"

	' Match the pattern in the extracted text
	Dim lineMatch = Regex.Match(result.Text, linePattern)

	' Check if the pattern matches any part of the text
	If lineMatch.Success Then
		' If a match is found, print the invoice number
		Dim lineValue = lineMatch.Value
		Console.WriteLine("Customer Invoice number: " & lineValue)
	End If
End Using
$vbLabelText   $csharpLabel

API de OCR de Facturas (Tutorial para Desarrolladores): Figura 10 - Escaneo de Facturas Escaneo de Facturas

6. Conclusión

La API de OCR de Facturas de IronOCR revoluciona la extracción de datos de facturas utilizando aprendizaje automático y visión por computadora. Esta tecnología convierte texto de la factura y números en un formato legible por máquinas, simplificando la extracción de datos para análisis, integración y mejora de procesos. Ofrece una solución robusta para automatizar el procesamiento de facturas, mejorando la precisión y optimizando flujos de trabajo como cuentas por pagar. La entrada de datos automatizada desde facturas escaneadas también es posible con esta tecnología.

IronOCR ofrece alta precisión utilizando los mejores resultados de Tesseract, sin configuraciones adicionales. Soporta TIFF de frame multipágina, archivos PDF y todos los formatos de imagen populares. También es posible leer valores de códigos de barras desde imágenes.

Por favor visita el sitio web de la página principal para más información sobre IronOCR. Para más tutoriales sobre OCR de facturas, visita este detallado tutorial de OCR de facturas. Para saber cómo usar la visión por computadora para encontrar texto como campos de facturas, visita este cómo de visión por computadora.

Preguntas Frecuentes

¿Cómo puedo automatizar el procesamiento de datos de facturas usando OCR?

Puede usar IronOCR para automatizar el procesamiento de datos de facturas aprovechando sus algoritmos de aprendizaje automático. IronOCR extrae detalles como información del proveedor, números de factura y precios de facturas digitales y escaneadas, reduciendo errores de entrada manual e incrementando la eficiencia.

¿Qué pasos se involucran en la configuración de una API de Factura OCR?

Para configurar una API de Factura OCR usando IronOCR, comience descargando e instalando la biblioteca a través del Gestor de Paquetes NuGet de Visual Studio. A continuación, cree un nuevo proyecto en C#, integre IronOCR, y use sus métodos para cargar y leer archivos de imagen para la extracción de texto.

¿Puede IronOCR extraer datos específicos como los números de factura?

Sí, IronOCR puede extraer datos específicos como los números de factura. Utiliza expresiones regulares para coincidir patrones en el texto extraído, permitiéndole obtener información específica de las facturas.

¿Cuáles son algunas características de IronOCR que benefician el procesamiento de facturas?

IronOCR incluye características como preprocesamiento de imágenes, reconocimiento de códigos de barras, y análisis de archivos. Estas mejoran su capacidad para extraer y procesar texto con precisión de varios formatos de factura, mejorando la captura de datos y la eficiencia del flujo de trabajo.

¿Cómo mejora el preprocesamiento de imágenes los resultados de OCR?

El preprocesamiento de imágenes en IronOCR ayuda a mejorar los resultados de OCR al optimizar la calidad de la imagen antes de la extracción de texto. Esto incluye operaciones como ajuste de contraste y reducción de ruido, que pueden llevar a una extracción de datos más precisa de las facturas.

¿Es posible usar IronOCR para facturas tanto digitales como escaneadas?

Sí, IronOCR es capaz de procesar facturas tanto digitales como escaneadas. Utiliza técnicas avanzadas de aprendizaje automático y visión por computadora para extraer texto con precisión de varios formatos y calidades de imagen.

¿Cómo maneja IronOCR múltiples formatos de página y tipos de archivo?

IronOCR admite múltiples formatos de página y tipos populares de archivos de imagen y PDF. Puede extraer texto eficientemente de documentos complejos, haciéndolo versátil para varias aplicaciones de procesamiento de facturas.

¿Dónde pueden los desarrolladores encontrar tutoriales para usar IronOCR?

Los desarrolladores pueden encontrar tutoriales y recursos adicionales en el sitio web de IronOCR. El sitio ofrece una variedad de materiales de aprendizaje, incluidos guías prácticas y artículos de blog para aplicar IronOCR en diferentes escenarios.

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