Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
El procesamiento de datos de facturas se refiere a recibir, gestionar y validar facturas de proveedores o vendedores y asegurar que los pagos se realicen correctamente y a tiempo. Implica pasos diseñados para garantizar la precisión, el cumplimiento y la eficiencia en el manejo de transacciones comerciales para evitar facturas en papel. El procesamiento automatizado de facturas puede reducir significativamente los errores de entrada de datos manuales y mejorar la eficiencia. IronOCR es un potente programa de reconocimiento óptico de caracteres(OCR)biblioteca de software que se puede usar para extraer datos o texto de facturas a partir de un archivo digital, lo que la convierte en una excelente herramienta para automatizar el procesamiento OCR de facturas en aplicaciones C#.
Cree un proyecto de Visual Studio.
Instala la biblioteca IronOCR C#.
Imagen de muestra de factura de entrada.
Utilice Tesseract y extraiga datos de la imagen del recibo.
El reconocimiento óptico de caracteres es una tecnología que permite reconocer y convertir diferentes tipos de documentos, PDFs o imágenes de texto en datos editables y buscables. La tecnología OCR procesa imágenes de texto y extrae los caracteres, haciéndolos legibles por máquina. Los sistemas avanzados de software de OCR para facturas ayudan en las herramientas de gestión financiera y la automatización de facturas.
Beneficios: El OCR mejora la productividad al automatizar la entrada de datos, reducir errores y permitir una búsqueda y recuperación de datos más fácil. También es compatible con el archivo de documentos y ayuda a las empresas a gestionar flujos de trabajo sin papel.
La tecnología OCR ha evolucionado significativamente, haciéndola muy precisa y útil para el procesamiento de documentos y la extracción de datos de facturas en muchos formatos diferentes de facturas, reduciendo la entrada manual de datos, eliminando el procesamiento manual de facturas y mejorando la seguridad de los datos.
IronOCR es un potente reconocimiento óptico de caracteres(OCR)biblioteca para .NET (C#)que permite a los desarrolladores extraer texto de imágenes, PDFs y otros formatos de documentos, desarrollar software OCR para facturas e implementar un flujo de trabajo de cuentas por pagar. Proporciona una API fácil de usar para integrar capacidades de OCR en el sistema de cuentas por pagar o el sistema de contabilidad.
Antes de comenzar, asegúrese de tener lo siguiente:
Abra Visual Studio y haga clic en Crear un nuevo proyecto.
Seleccione Aplicación de Consola en las opciones.
Proporcione el nombre y la ruta del proyecto.
Seleccione el tipo de versión de .NET.
En su proyecto en Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución. Haz clic en la pestaña Explorar y busca IronOCR. Seleccione IronOCR y haga clic en Instalar.
Otra opción es utilizar la consola y el siguiente comando.
dotnet add package IronOcr --version 2024.12.2
dotnet add package IronOcr --version 2024.12.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronOcr --version 2024.12.2
Imagen de factura digital de muestra con el número de factura.
Ahora utiliza el siguiente código para extraer datos de una factura para el procesamiento de facturas mediante OCR.
using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(filePath);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Read the text from the image or PDF
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
// next steps are to process data and use the extracted and validated data with invoice date
}
using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(filePath);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Read the text from the image or PDF
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
// next steps are to process data and use the extracted and validated data with invoice date
}
Imports IronOcr
License.LicenseKey = "Your License"
Dim filePath As String = "sample1.jpg" ' image for invoice OCR
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
ocrInput.LoadImage(filePath)
' Optionally apply filters if needed
ocrInput.Deskew()
' ocrInput.DeNoise();
' Read the text from the image or PDF
Dim ocrResult = ocr.Read(ocrInput)
' Output the extracted text
Console.WriteLine("Extracted Text:")
Console.WriteLine(ocrResult.Text)
' next steps are to process data and use the extracted and validated data with invoice date
End Using
El código proporcionado demuestra cómo usar la biblioteca IronOCR en C# para extraer texto de una imagen.(por ejemplo, una factura)usando OCR(Reconocimiento óptico de caracteres). Aquí está una explicación de cada parte del código sin el código real:
Configuración de la Clave de Licencia:
El código comienza configurando la clave de licencia para IronOCR. Esta clave es necesaria para utilizar la funcionalidad completa de la biblioteca. Si tienes una licencia válida, reemplazas "Your License" con tu clave de licencia real.
Especificando el Archivo de Entrada:
La variable filePath contiene la ubicación de la imagen que contiene la factura.(en este caso, "sample1.jpg"). Este es el archivo que se procesará para la extracción de texto.
Creando una instancia de OCR:
Se crea una instancia de IronTesseract. IronTesseract es la clase responsable de realizar la operación OCR en los datos de entrada.(imagen o PDF).
Cargando la imagen:
Luego, el código crea un objeto OcrInput, que se utiliza para cargar la imagen.(en este caso, un archivo JPG especificado por filePath). El método LoadImage se utiliza para leer el archivo de imagen y prepararlo para OCR.
Aplicar filtros de imagen:
El código contiene un paso de filtro donde se aplican métodos opcionales de procesamiento de imágenes, como Deskew.(corrección de imágenes sesgadas)y DeNoise(eliminando el ruido de la imagen), se puede aplicar para mejorar la precisión del OCR. En este caso, solo el método Deskew está activo.
Realizando OCR:
Visualización del texto extraído:
Para mejorar la eficiencia, se puede utilizar solo una parte de la imagen para la extracción.
using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg";
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
ocrInput.LoadImage(filePath, ContentArea);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Read the text from the image or PDF
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg";
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
ocrInput.LoadImage(filePath, ContentArea);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Read the text from the image or PDF
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
License.LicenseKey = "Your Key"
Dim filePath As String = "sample1.jpg"
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
Dim ContentArea = New Rectangle(x:= 0, y:= 0, width:= 1000, height:= 250)
ocrInput.LoadImage(filePath, ContentArea)
' Optionally apply filters if needed
ocrInput.Deskew()
' ocrInput.DeNoise();
' Read the text from the image or PDF
Dim ocrResult = ocr.Read(ocrInput)
' Output the extracted text
Console.WriteLine("Extracted Text:")
Console.WriteLine(ocrResult.Text)
End Using
Este código extrae texto de una región específica de una imagen utilizando IronOCR, y opcionalmente aplica filtros como la corrección de inclinación para mejorar la precisión. El texto extraído se muestra y está listo para su uso posterior.
La primera parte del código consiste en establecer la clave de licencia para IronOCR. Esto es necesario para usar la funcionalidad de OCR en la biblioteca. La clave de licencia debe ser reemplazada con la clave actual que obtenga de IronOCR, lo que le permitirá acceder a todas las funciones de la biblioteca.
Se especifica la ruta de archivo de la imagen que desea procesar. Esta imagen(en este caso, un archivo JPG)contiene el documento o contenido del cual el OCR extraerá texto. La ruta puede apuntar a un archivo de imagen en el sistema local u otro almacenamiento accesible.
Se crea una instancia de la clase IronTesseract. Este objeto es el motor central que realizará el reconocimiento óptico de caracteres en la imagen.
Un rectángulo(área de interés)está definido dentro de la imagen. Este rectángulo especifica la parte de la imagen en la que se centrará el motor OCR. En este ejemplo, el rectángulo comienza en la esquina superior izquierda.(x=0, y=0)y tiene un ancho de 1000 píxeles y una altura de 250 píxeles. Este paso ayuda al proceso de OCR a enfocarse solo en la sección relevante de la imagen, mejorando la precisión y la velocidad.
La imagen se carga en el motor de OCR, pero solo el rectángulo definido(el área de contenido)se procesa. Esto le permite limitar el alcance del OCR a una parte específica de la imagen, lo cual es especialmente útil cuando la imagen contiene áreas irrelevantes, como fondos o logotipos, que no desea procesar.
El código aplica opcionalmente un filtro de deskewing a la imagen. El enderezado es el proceso de rectificar una imagen si tiene algún giro o inclinación, mejorando la precisión del OCR. Otro filtro, denoise, está disponible pero está comentado. Si está activado, eliminaría el ruido(marcas no deseadas)de la imagen, lo que podría mejorar aún más la precisión del OCR.
El motor OCR lee la imagen(o el área especificada de la misma)y extrae cualquier texto que reconozca. El resultado se almacena en un objeto que contiene el texto reconocido.
Finalmente, el texto extraído se imprime en la consola. Este texto es el resultado del proceso OCR y puede ser procesado, validado o utilizado en aplicaciones como la entrada de datos o la gestión de documentos.
IronOCR requiere una clave para extraer datos de las facturas. Obtenga su clave de prueba para desarrolladores desde el página de licencias.
using IronOcr;
License.LicenseKey = "Your Key";
using IronOcr;
License.LicenseKey = "Your Key";
Imports IronOcr
License.LicenseKey = "Your Key"
Este artículo proporciona un ejemplo básico de cómo comenzar con IronOCR para el procesamiento de facturas. Puede personalizar y expandir este código para ajustarlo a sus requisitos específicos.
IronOCR ofrece una solución eficiente y fácil de integrar para extraer texto de imágenes y PDFs, lo que lo hace ideal para el procesamiento de facturas. Al utilizar IronOCR en combinación con la manipulación de cadenas de C# o expresiones regulares, puede procesar y extraer rápidamente datos importantes de las facturas.
Este es un ejemplo básico de procesamiento de facturas, y con configuraciones más avanzadas(como el reconocimiento de idioma, procesamiento de PDF de múltiples páginas, etc.), puedes ajustar los resultados de OCR para mejorar la precisión para tu caso de uso específico.
La API de IronOCR es flexible y puede usarse para una amplia variedad de tareas de OCR más allá del procesamiento de facturas, incluyendo el escaneo de recibos, la conversión de documentos y la automatización de la entrada de datos.
10 productos API de .NET para sus documentos de oficina