Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Una API de escaneado de recibos extrae datos clave de los recibos mediante tecnología OCR avanzada. Agiliza el proceso de introducción de datos eliminando los errores manuales y mejorando la productividad. La API, versátil y precisa, admite varios idiomas, monedas y formatos. Al automatizar el análisis de los recibos, las empresas pueden conocer mejor sus pautas de gasto y tomar decisiones basadas en datos. Este artículo mostrará cómo utilizar la biblioteca OCR de C#,IronOCRpara extraer información importante de un recibo.
IronOCR es una versátil biblioteca y API de OCR desarrollada por Iron Software, que ofrece a los desarrolladores una potente solución para extraer texto de diversas fuentes, como documentos escaneados, imágenes y PDF. Con sus avanzados algoritmos de OCR, visión por ordenador y modelos de aprendizaje automático, IronOCR garantiza una gran precisión y fiabilidad, incluso en situaciones difíciles. La biblioteca admite varios idiomas y estilos de fuente, lo que la hace adecuada para aplicaciones globales. Al incorporar IronOCR con capacidades de modelos de aprendizaje automático a sus aplicaciones, los desarrolladores pueden automatizar fácilmente la introducción de datos, el análisis de textos y otras tareas, mejorando la productividad y la eficiencia.
Con IronOCR, los desarrolladores pueden obtener sin esfuerzo texto de diversas fuentes, como documentos, fotografías, capturas de pantalla e incluso imágenes de cámaras en directo como respuestas JSON. Mediante la utilización de sofisticados algoritmos y modelos de aprendizaje automático, IronOCRanaliza los datos de la imagenreconoce caracteres individuales y los convierte en texto legible por máquina. Este texto extraído puede utilizarse para diversos fines, como la introducción de datos, la recuperación de información, el análisis de textos y la automatización de tareas manuales.
Antes de empezar a trabajar con IronOCR, es necesario cumplir algunos requisitos previos. Estos requisitos previos incluyen:
Asegúrese de que dispone de un entorno de desarrollo adecuado en su ordenador. Esto suele implicar disponer de un Entorno de Desarrollo Integrado(IDE) como Visual Studio instalado.
Es importante tener conocimientos básicos del lenguaje de programación C#. Esto le permitirá comprender y modificar eficazmente los ejemplos de código proporcionados en el artículo.
Necesitarás tener la librería IronOCR instalada en tu proyecto. Para ello, se puede utilizar el gestor de paquetes NuGet dentro de Visual Studio o a través de la interfaz de línea de comandos.
Si se asegura de que se cumplen estos requisitos previos, estará listo para sumergirse en el proceso de trabajar con IronOCR.
Para empezar con IronOCR, el primer paso es crear un nuevo proyecto de Visual Studio.
Abra Visual Studio y vaya a Archivos, luego pase el ratón por Nuevo y haga clic en Proyecto.
Nueva imagen del proyecto
En la nueva ventana, seleccione Aplicación de consola y haga clic en Siguiente.
Aplicación de consola
Aparecerá una nueva ventana. Escriba el nombre de su nuevo proyecto, y la ubicación y haga clic en Siguiente.
Configuración del proyecto
Por último, indique el Marco de destino y haga clic en Crear.
Marco objetivo
Ahora que su nuevo proyecto de Visual Studio está creado, vamos a instalar el IronOCR.
Existen varios métodos para descargar e instalar la biblioteca IronOCR. Sin embargo, he aquí los dos enfoques más sencillos.
Uso del gestor de paquetes NuGet de Visual Studio
IronOCR puede incluirse en un proyecto C# utilizando el gestor de paquetes NuGet de Visual Studio.
Navegue hasta la interfaz gráfica de usuario de NuGet Package Manager seleccionando Herramientas > NuGet Package Manager > Administrar paquetes NuGet para la solución.
Gestor de paquetes NuGet
A continuación, aparecerá una nueva ventana. Busque IronOCR e instale el paquete en el proyecto.
IronOCR
También pueden instalarse paquetes de idiomas adicionales para IronOCR utilizando el mismo método descrito anteriormente.
En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
:ProductInstall
**Consola del Administrador de Paquetes**
El paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
Extraer datos de imágenes de recibos utilizando IronOCR y guardarlos en forma de datos estructurados es un salvavidas para la mayoría de los desarrolladores. Con IronOCR, puede conseguirlo con unas pocas líneas de código. Con él podrá extraer partidas, precios, importe de impuestos, importe total y mucho más con diferentes tipos de documentos.
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
var result = ocr.Read(input);
var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
var pricePattern = @"\$\d+(\.\d{2})?";
var descriptions = new List<string>();
var unitPrices = new List<decimal>();
var taxes = new List<decimal>();
var amounts = new List<decimal>();
var lines = result.Text.Split('\n');
var descriptionMatch = Regex.Match(lines, descriptionPattern);
if (descriptionMatch.Success)
{
var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
descriptions.Add(DescriptionValue);
}
Console.WriteLine("Description: " + descriptions [i]);
Console.WriteLine("Quantity: 1.00 Units");
Console.WriteLine("Unit Price: $" + unitPrices [i]);
taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
Console.WriteLine("Taxes: $" + taxes [i]);
amounts.Add(unitPrices [i] + taxes [i]);
Console.WriteLine("Amount: $" + amounts [i]);
Console.WriteLine("-----------------------");
}
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
var result = ocr.Read(input);
var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
var pricePattern = @"\$\d+(\.\d{2})?";
var descriptions = new List<string>();
var unitPrices = new List<decimal>();
var taxes = new List<decimal>();
var amounts = new List<decimal>();
var lines = result.Text.Split('\n');
var descriptionMatch = Regex.Match(lines, descriptionPattern);
if (descriptionMatch.Success)
{
var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
descriptions.Add(DescriptionValue);
}
Console.WriteLine("Description: " + descriptions [i]);
Console.WriteLine("Quantity: 1.00 Units");
Console.WriteLine("Unit Price: $" + unitPrices [i]);
taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
Console.WriteLine("Taxes: $" + taxes [i]);
amounts.Add(unitPrices [i] + taxes [i]);
Console.WriteLine("Amount: $" + amounts [i]);
Console.WriteLine("-----------------------");
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Imports System.Collections.Generic
Imports System.Text.RegularExpressions
Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
Dim result = ocr.Read(input)
Dim descriptionPattern = "\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)"
Dim pricePattern = "\$\d+(\.\d{2})?"
Dim descriptions = New List(Of String)()
Dim unitPrices = New List(Of Decimal)()
Dim taxes = New List(Of Decimal)()
Dim amounts = New List(Of Decimal)()
Dim lines = result.Text.Split(ControlChars.Lf)
Dim descriptionMatch = Regex.Match(lines, descriptionPattern)
If descriptionMatch.Success Then
Dim DescriptionValue = descriptionMatch.Groups (2).Value.Trim()
descriptions.Add(DescriptionValue)
End If
Console.WriteLine("Description: " & descriptions (i))
Console.WriteLine("Quantity: 1.00 Units")
Console.WriteLine("Unit Price: $" & unitPrices (i))
taxes.Add(cost (i) * 0.15D) ' Calculate Taxes (15%)
Console.WriteLine("Taxes: $" & taxes (i))
amounts.Add(unitPrices (i) + taxes (i))
Console.WriteLine("Amount: $" & amounts (i))
Console.WriteLine("-----------------------")
End Using
Como puede ver a continuación, IronOCR puede extraer fácilmente el texto requerido del recibo.
Salida
Si desea extraer el recibo completo, puede hacerlo fácilmente con unas pocas líneas de código en el recibo OCR.
using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"r3.png"))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"r3.png"))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System
Private ocr = New IronTesseract()
Using input = New OcrInput("r3.png")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Escanear salida API de recepción
La API de escaneado de imágenes de recibos, como IronOCR, ofrece una potente solución de software para automatizar la extracción de datos de los recibos. Aprovechando la avanzada tecnología OCR, las empresas pueden extraer fácilmente información importante de las imágenes o escaneados de recibos, incluidos los nombres de los proveedores comerciales, las fechas de compra, las listas detalladas, los precios, los impuestos y los importes totales. Con soporte paravarios idiomas, divisas, formatos de reciboycompatibilidad con códigos de barrasLas empresas pueden agilizar sus procesos de gestión de recibos, ahorrar tiempo, conocer mejor los patrones de gasto y tomar decisiones basadas en datos. IronOCR, como biblioteca y API de OCR versátil, proporciona a los desarrolladores las herramientas que necesitan para extraer texto de diversas fuentes con precisión y eficacia, lo que permite automatizar tareas y mejorar la eficiencia general. Al cumplir los requisitos previos necesarios e integrar IronOCR en sus aplicaciones, los desarrolladores pueden desbloquear las ventajas del procesamiento de datos de recepción y mejorar sus flujos de trabajo.
Para más información sobre IronOCR, visite este enlacepágina de licencias. Para saber cómo utilizar la visión por ordenador para encontrar texto, visite estepágina sobre visión por computador. Para más tutoriales sobre el OCR de recibos, visiteOCR C# tutorial.
9 productos API .NET para sus documentos de oficina