Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Este tutorial está diseñado para ayudar a los principiantes a crear un escáner de recibos OCR utilizando IronOCR, una API de OCR en C#. Al final de esta guía, entenderás cómo implementar el reconocimiento óptico de caracteres (OCR) para convertir diferentes tipos de archivos de recibos en datos editables y buscables utilizando la API de OCR para recibos. Esta tecnología puede cambiar las reglas del juego para las empresas que buscan automatizar la gestión de gastos y minimizar la introducción manual de datos. ¡Comencemos!
Instale la biblioteca OCR utilizando NuGet Package Manager3. Cargar el recibo en el programa utilizando el método OcrInput.
Antes de sumergirnos en la parte de codificación, asegúrate de que tienes lo siguiente:
Visual Studio: Este será nuestro Entorno de Desarrollo Integrado (IDE), donde escribiremos y ejecutaremos nuestro código C#.
Biblioteca IronOCR: Usaremos IronOCR, una biblioteca avanzada de OCR que se puede integrar fácilmente en aplicaciones de C#.
Abra Visual Studio: Localice el icono de Visual Studio en su escritorio o en el menú de aplicaciones y haga doble clic en él para abrir el programa.
Crear un nuevo proyecto: Una vez que Visual Studio esté abierto, encontrarás una ventana de inicio. Haga clic en el botón "Crear un nuevo proyecto". Si ya has abierto Visual Studio y no ves la ventana de lanzamiento, puedes acceder a ella haciendo clic en Archivo > Nuevo > Proyecto en el menú superior.
Seleccionar Tipo de Proyecto: En la ventana "Crear un nuevo proyecto", verás una variedad de plantillas de proyecto. En el cuadro de búsqueda, escriba "Aplicación de consola" para filtrar las opciones, luego seleccione Aplicación de consola (.NET Core) o Aplicación de consola (.NET Framework), dependiendo de su preferencia y compatibilidad. A continuación, haga clic en el botón Siguiente.
Configure su nuevo proyecto: Ahora, verá una pantalla titulada "Configure su nuevo proyecto".
Haga clic en el botón Siguiente después de completar estos detalles.
Información adicional: Es posible que se le pida seleccionar el .NET Framework de destino. Elija la versión más reciente (a menos que tenga requisitos específicos de compatibilidad) y haga clic en Crear.
Antes de poder utilizar la biblioteca IronOCR, tenemos que incluirla en nuestro proyecto. Sigue estos pasos:
Haga clic con el botón derecho en su proyecto en el Explorador de soluciones.
Seleccione "Gestionar paquetes NuGet".
En la ventana del Administrador de Paquetes NuGet, verás varias pestañas como Examinar, Instalado, Actualizaciones y Consolidar. Haga clic en la pestaña Explorar.
En el cuadro de búsqueda, escribe IronOcr. Este es el nombre de la biblioteca que deseamos añadir a nuestro proyecto. Pulsa Intro para buscar.
Los resultados de la búsqueda mostrarán el paquete de bibliotecas IronOCR. Debería ser uno de los primeros resultados que veas. Haga clic en él para seleccionarlo.
Tras seleccionar el paquete IronOCR, observará que en la parte derecha aparece un panel con información sobre el paquete, incluida su descripción y versión. También hay un botón de Instalar en este panel.
Cómo Crear un Escáner de Recibos OCR en C#: Figura 2 - Instalación de IronOCR a través del gestor de paquetes NuGet
Tras instalar IronOCR, el siguiente paso es configurar el proyecto. He aquí cómo:
Agregar espacios de nombres: En la parte superior de su archivo Program.cs, incluya los siguientes espacios de nombres:
using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
Configuración: Si tienes configuraciones como una clave de API o una clave de licencia, asegúrate de incluirlas. Para IronOCR, tendrá que configurar la clave de licencia como se muestra en el código proporcionado:
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key" ' replace 'License-Key' with your key
Ahora, vamos a escribir el código para leer el recibo.
Define la Ruta a su Recibo: Especifique la ruta al archivo del recibo que desea escanear.
string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Bloque Try-Catch: Implementar el manejo de errores utilizando un bloque try-catch. Esto le ayudará a gestionar cualquier excepción que se produzca durante el proceso de OCR.
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}
Try
' OCR code will go here
Catch ex As Exception
' Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
En el paso 5, nos adentramos en la funcionalidad central de nuestra aplicación: la implementación de OCR para leer e interpretar los datos de nuestro recibo. Esto implica inicializar el motor de OCR, configurar la entrada, realizar la operación de OCR y mostrar los resultados.
La primera parte del código crea una instancia de la clase IronTesseract:
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
Al crear una instancia de IronTesseract, esencialmente estamos configurando nuestra herramienta de OCR, preparándola para realizar las tareas de reconocimiento de texto. Es como arrancar el motor de un coche antes de poder conducirlo. Este objeto se utilizará para controlar el proceso de OCR, incluida la lectura de la entrada y la extracción de texto de la misma.
A continuación, definimos la entrada para nuestro proceso de OCR:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Using
En este segmento, OcrInput se utiliza para especificar el archivo que queremos procesar. pdfFilePath es una variable que contiene la ruta a nuestro archivo de recibo. Al pasar esta variable a OcrInput, le estamos diciendo al motor OCR: "Aquí está el archivo que quiero que leas". La declaración using es una construcción especial de C# que asegura que los recursos utilizados por OcrInput (como los manejadores de archivos) se liberen adecuadamente una vez terminado el procesamiento. Es una forma de gestionar los recursos de manera eficiente y garantizar que su aplicación se ejecute sin problemas y sin un uso innecesario de la memoria.
Dentro del bloque using, llamamos al método Read en nuestra instancia de ocr:
var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
El método Read tomará la ruta del archivo de entrada como parámetro. Esta línea iniciará el escaneo de recibos. Realizará el OCR del archivo de entrada dado, extraerá los datos y los almacenará en una variable resultado. Podemos utilizar el texto extraído de este método para realizar cualquier operación de texto.
Por último, obtenemos el texto reconocido por el proceso de OCR:
Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
La variable result contiene la salida del proceso de OCR y result.Text contiene el texto real extraído del recibo. La función Console.WriteLine luego toma este texto y lo muestra en la consola. Esto le permite ver y verificar los resultados del proceso de OCR. Aquí está el código completo del archivo Program.cs:
using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "Your-License-Key";
string pdfFilePath = "Sample_Receipt.jpg";
try
{
var ocr = new IronTesseract();
using (var input = new OcrInput(pdfFilePath))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "Your-License-Key";
string pdfFilePath = "Sample_Receipt.jpg";
try
{
var ocr = new IronTesseract();
using (var input = new OcrInput(pdfFilePath))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
Imports IronOcr
Imports Microsoft.Extensions.Configuration
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
License.LicenseKey = "Your-License-Key"
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
Dim ocr = New IronTesseract()
Using input = New OcrInput(pdfFilePath)
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Class
Compilar el Proyecto: Haz clic en el menú 'Compilar' y luego selecciona 'Compilar Solución'.
Ejecutar el proyecto: Presione F5 o haga clic en el botón 'Iniciar' para ejecutar su aplicación.
Ahora, verá el texto de su recibo en la consola. Este texto representa los datos extraídos de la imagen de su recibo. Así escaneamos los recibos con IronOCR. Este es un ejemplo sencillo de uso de las capacidades de OCR para extraer datos de recibos de papel. Es una implementación muy genérica. Puede modificar su código para adaptarlo al diseño de las imágenes de sus recibos.
A continuación, se pueden utilizar los datos no estructurados de los recibos que hemos obtenido tras escanearlos. Podemos obtener información importante de una sección concreta del recibo. O podemos mostrar los datos de los recibos de forma más organizada. Podemos hacer una aplicación de software de escaneo de recibos OCR utilizando el IronOCR. Eso nos ayudará a extraer datos precisos de los campos de recepción.
¡Felicidades! Ha construido con éxito un escáner de recibos OCR utilizando C# y IronOCR. Este escáner puede aumentar significativamente la precisión de la extracción de datos para diversas necesidades empresariales, como el seguimiento de gastos, la gestión de la cadena de suministro, etc. Ya no será necesario revisar los recibos escaneados y extraer los datos manualmente.
IronOCR ofrece una prueba gratuita, permitiendo a los usuarios explorar y evaluar sus capacidades sin costo inicial. Para aquellos que buscan integrar y aprovechar todo el espectro de funciones en un entorno profesional, las licencias comienzan en $749, proporcionando una solución integral para necesidades robustas de escaneo de recibos OCR y extracción de datos.
Recuerda que esto es sólo el principio. Puede ampliar esta aplicación para que admita varios tipos de archivos, mejore la privacidad de los datos o integre funciones adicionales como el reconocimiento de recibos para campos específicos como el importe del impuesto, la fecha, las partidas, etc. Con la tecnología OCR, las posibilidades son inmensas y allanan el camino hacia procesos empresariales más eficaces e inteligentes. ¡Feliz codificación!