Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Reconocimiento óptico de caracteres(OCR) permite convertir un archivo de imagen en texto codificado por máquina. Esto es increíblemente útil dado que los documentos escaneados se guardan como archivos de imagen, y los datos de estos archivos de imagen no se pueden buscar, editar o guardar en formato de texto utilizando un editor de texto normal o incluso una aplicación de procesamiento de texto. El procesamiento OCR ayuda a convertir estas imágenes en texto legible por máquina para su posterior procesamiento por parte de los usuarios.
En esta era moderna, los documentos que se comparten por Internet suelen estar en formato digital, sobre todo en forma de PDF o imágenes. Existen numerosos recursos en línea que convierten imágenes en texto. Sin embargo, la mayoría de las empresas requieren esta funcionalidad en sus aplicaciones informáticas. Teniendo esto en cuenta, hay muchas bibliotecas que proporcionan tecnología de procesamiento OCR para incrustar en aplicaciones de software.
En este artículo, vamos a discutir dos de las librerías OCR más populares para C#. Estos son:
IronOCR para .NET es una biblioteca C# que permite a los usuarios escanear, buscar y leer imágenes y archivos PDF. Toma una imagen o un archivo PDF como entrada y utiliza el último motor de OCR .NET personalizado Tesseract 5 para generar texto, datos estructurados o documentos PDF con capacidad de búsqueda. Tesseract está disponible en más de 125 idiomas, e IronOCR ofrece compatibilidad multiplataforma en .NET Core, Standard, desde 2.0 hasta 7.
IronOCR es una API fácil de usar que permite a los desarrolladores de C# convertir automáticamente imágenes en texto utilizando la clase IronTesseract
. La biblioteca da prioridad a la velocidad, la precisión y la facilidad de uso.
Otra potente función de IronOCR es su capacidad para escanear códigos de barras y códigos QR de todos los archivos de imagen y leer su texto. A continuación se enumeran otras características importantes de IronOCR.
System.Drawing Objects
, flujos, documentos PDF, etc.Salida de datos sencilla: Salida en formato .NET de cadenas de texto, código de barras, QR e imagen.
Ahora, echemos un vistazo a la API de OCR de Nanonets.
API de OCR de Nanonets es una API REST que proporciona extracción de datos en tiempo real adaptada a sus necesidades empresariales para flujos de trabajo automatizados. La API de OCR está potenciada por la IA y puede capturar, categorizar y extraer datos de forma segura de documentos no estructurados en cuestión de segundos. Con Nanonets, puede automatizar la introducción manual de datos, reduciendo el esfuerzo manual necesario.
Nanonets entiende los documentos mediante aprendizaje automático, incluso los que no siguen una plantilla estándar. Puede cargar cualquier documento no estructurado y capturar sólo la información deseada basándose en diferentes campos. A diferencia del OCR tradicional, el modelo de OCR de Nanonets puede entrenarse para obtener mejores resultados. A medida que su empresa crece, el modelo inteligente de procesamiento de documentos OCR de Nanonets también crece y aprende con cada nuevo documento, proporcionando resultados rápidos y precisos.
Además, Nanonets proporciona un paquete Python que permite una fácil integración y captura de datos en aplicaciones Python sin requerir peticiones API. Otras características son:
Cumplimiento del GDPR
Múltiples opciones de exportación disponibles
El resto del artículo es el siguiente:
Creación del proyecto de Visual Studio
Instalación de IronOCR
Instalación de la API OCR de Nanonets
Imagen a texto
Código de barras y QR a texto
PDF a texto
Licencias
En este tutorial, vamos a utilizar la última versión de Visual Studio 2022. Si aún no la tienes descargada e instalada, puedes hacerlo desde la páginaSitio web de Visual Studio.
Ahora, necesitamos crear un proyecto de consola para empezar con ambas librerías. Siga los pasos para crear un proyecto:
Haga clic en Crear un nuevo proyecto.
Seleccione Aplicación de Consola C# de las opciones dadas.
Haga clic en Siguiente.
En información adicional, seleccione .NET 6.0 Framework, ya que es la versión más estable.
Ahora, haga clic en Crear y el proyecto se creará en la ubicación especificada.
A continuación, instalaremos las bibliotecas en nuestro proyecto para compararlas.
Hay varias formas de instalar la biblioteca IronOCR. Veámoslos uno por uno.
NuGet es el gestor de paquetes para descargar e instalar dependencias en tu proyecto. Sus paquetes contienen código compilado y(DLLs) y el archivo de manifiesto. Acceda a él mediante el siguiente método:
Haga clic en Administrar paquetes NuGet para soluciones.
Alternativamente:
Haga clic en Administrar paquetes NuGet.
Ahora se abrirá la ventana del Gestor de paquetes NuGet. Busque IronOCR y haga clic en Instalar.
IronOCR también puede descargarse directamente del sitio web oficial de NuGet. Siga los siguientes pasos:
Haga clic en el enlace "".
Haga clic en la opción "descargar paquete" situada en la parte derecha de la página.
Abra el paquete descargado y comenzará la instalación.
Sólo tiene que visitar el sitio web de Iron Software y navegar hasta la página web de IronOCR for .NET. Desplácese hasta la parte inferior y haga clic en Descargar DLL o Descargar el instalador de Windows.
Se descargará un archivo zip. Extraiga el archivo del proyecto o ejecute el instalador de Windows. Siga los siguientes pasos para añadirlo a su proyecto.
Haga clic con el botón derecho en las dependencias del proyecto en Visual Studio desde el explorador de soluciones.
A continuación, seleccione la opción Añadir referencia de proyecto.
Busque la ubicación del archivo DLL descargado.
Vaya a la pestaña Herramientas de Visual Studio.
Ampliar la opción Gestor de paquetes NuGet.
Install-Package IronOcr
Esto descargará e instalará automáticamente IronOCR en su proyecto.
Ahora, estamos listos para utilizar IronOCR en nuestro proyecto.
Sólo se requiere un espacio de nombres, que debe añadirse en la parte superior del archivo de código fuente en el que necesitamos acceder a las funciones de IronOCR.
using IronOcr;
using IronOcr;
Imports IronOcr
Ahora, vamos a instalar Nanonets OCR API.
Aquí están los párrafos corregidos:
Las nanoredes pueden utilizarse de múltiples formas para capturar datos. Ofrece una función de reconocimiento óptico de caracteres en línea que puede utilizarse para la extracción instantánea de datos, lo que reduce los plazos de entrega. Como API REST, puede integrarse en múltiples lenguajes de programación. Aquí demostraremos cómo integrarlo en un lenguaje de programación C#.
Para automatizar la captura de datos utilizando la API de OCR de Nanonets en C#, necesitará lo siguiente:
Regístrate en Nanonets - Puedes registrarte para una prueba gratuita utilizando tu cuenta de Gmail o un correo electrónico registrado en Nanonets.
Crear un modelo OCR - Esto generará un ID de modelo que se utilizará más tarde al hacer llamadas a la API.
RestSharp es una sencilla librería cliente Rest y HTTP para .NET. Se utiliza para enviar y recibir peticiones API y gestionar las respuestas. Esta biblioteca es necesaria para ejecutar el código de la API de Nanonets, ya que también es una API REST.
Para instalar RestSharp, abra el gestor de paquetes NuGet para su solución, busque RestSharp e instálelo. También puede abrir la consola del gestor de paquetes y escribir el siguiente comando:
PM> Install-Package RestSharp
Ahora, todo está configurado y listo para usar.
Leer datos de imágenes puede ser una tarea bastante tediosa. La resolución y la calidad de las imágenes desempeñan un papel importante en la extracción de contenidos. Tanto IronOCR como Nanonets ofrecen funciones de reconocimiento óptico de caracteres para extraer texto de las imágenes.
IronOCR hace que sea muy fácil para los desarrolladoresleer el contenido de un archivo de imagen con su poderosa clase IronTessaract
. Utilizaremos el siguiente código para leer texto de un archivo de imagen PNG:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("test-files/employmentapp.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
El resultado de IronOCR coincide con la imagen original que se le ha proporcionado. El código es limpio y fácil de entender, sin tecnicismos.
Nanonets también permite extraer texto de las imágenes. Para ello, se realiza una llamada a la API con la clave de autenticación y, a continuación, se carga la imagen en el servidor de Nanonets. A continuación, la herramienta de OCR rápido devolverá el texto extraído como respuesta a la aplicación. He aquí un ejemplo de código:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/FullText")
client.Timeout = -1
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddFile("file", "FILE_PATH")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)
El resultado no es perfecto. La imagen contenía datos estructurados, de los que sólo una parte se obtiene correctamente. Con otra imagen de texto simple, el resultado fue correcto. Tenga en cuenta que el modelo puede entrenarse para obtener resultados más precisos.
IronOCR proporciona una función útil para la lectura de imágenes que incluye la capacidad de detectar y leer códigos de barras y códigos QR. Para activar esta función, establezca la propiedad de configuración ReadBarcodes
en true antes de procesar la imagen. Una vez finalizado el procesamiento OCR, itere a través de los resultados OCR para extraer el valor de cada código de barras detectado. A continuación se muestra un fragmento de código de ejemplo para la lectura de códigos de barras con IronOCR:
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("test-files/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
Los tres códigos de barras de la imagen de entrada se leen correctamente y se muestra su texto oculto.
La API OCR de Nanonets permite detectar códigos QR. Sin embargo, esta funcionalidad sólo está disponible en el plan Enterprise, y tendrás que ponerte en contacto con ventas para utilizarla. Además, Nanonets permite detectar partes específicas de documentos o recibos. También ofrece otras funciones como cuentas por pagar, procesamiento de facturas y automatización de la contabilidad.
Leer archivos PDF es tan sencillo como leer archivos de imagen con IronOCR. El único cambio necesario es utilizar el método AddPDF
en lugar de AddImage
en el código para la lectura de imágenes. El código es el siguiente:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("test-files/example.pdf")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
El texto extraído tiene el mismo formato que el archivo PDF.
La lectura de datos de archivos PDF también está disponible en la API de OCR de Nanonets. El código es casi idéntico al código de detección de texto de la imagen, excepto por la URL utilizada en la petición. Echemos un vistazo al código:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddHeader("accept", "Multipart/form-data")
request.AddFile("file", "test-files/example.pdf")
Dim response As RestResponse = client.Execute(request)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Console
En el código anterior, sustituya model_id por el ID de su modelo de OCR. Además, sustituya la clave API por su propia clave API. A continuación, sustituya la ruta del archivo PDF por la ruta de su propio archivo.
El resultado es similar al de IronOCR, pero los espacios adicionales y las líneas nuevas se incluyen en el resultado de Nanonets OCR.
IronOCR es gratuito para fines de desarrollo, pero requiere licencia para uso comercial. También ofrece una prueba gratuita para que compruebes todo su potencial para tus necesidades. El paquete lite comienza en $749 con una garantía de devolución del dinero de 30 días. IronOCR ofrece un año de asistencia y actualizaciones gratuitas del producto, y a partir de entonces 399 dólares al año. Todas las licencias son perpetuas, lo que significa que sólo hay que comprarlas una vez y sin cargos ocultos. También puede optar por la cobertura de redistribución sin derechos de autor para productos SaaS y OEM por una única compra de 199 dólares. Para más información sobre paquetes de licencias y planes de precios, visiteenlace.
La API de OCR de Nanonets ofrece tres paquetes diferentes. Puedes inscribirte gratis en su paquete de inicio. Las primeras 500 páginas son gratuitas, después se cobran 0,3 dólares por página. Sólo pagas por lo que usas. Para obtener información más detallada sobre los precios, puede visitar este enlaceenlace.
IronOCR proporciona a los desarrolladores de C# la avanzada API de Tesseract disponible en la mayoría de las plataformas. Puede desplegarse en Windows, Linux, Mac, Azure, AWS y Lambda, y es compatible con proyectos .NET Framework, así como .NET Standard y .NET Core. IronOCR también permite leer códigos de barras en escaneos OCR, e incluso exportar OCR como HTML y PDF con capacidad de búsqueda. Para obtener más información sobre C# Tesseract OCR, haga clic enaquí.
La API de OCR de Nanonets ofrece diversas herramientas de OCR. Proporciona soluciones de OCR listas para usar para múltiples tipos de documentos, como facturas, recibos, recibos, formularios y documentos de identidad, con el fin de automatizar la captura de datos. No es necesario configurar plantillas, no hay cargos ocultos y permite ahorrar un 90% de tiempo y multiplicar por 10 la productividad utilizando la API de OCR de Nanonets.
Las licencias de IronOCR se basan en los desarrolladores, lo que significa que siempre debe adquirir una licencia en función del número de desarrolladores que vayan a utilizar el producto. Los planes de precios de Nanonets se basan en el número de imágenes o páginas PDF para extraer la información y analizar los datos. Los planes Pro y Enterprise son mensuales por modelo, y los precios aumentan cuando se incrementa el número de modelos y páginas en comparación con las licencias IronOCR. Además, las licencias de IronOCR se adquieren una sola vez y pueden utilizarse de por vida, y admiten la distribución OEM y SaaS.
En comparación general, ambas API ofrecen funcionalidades de OCR basadas en IA y ML. IronOCR tiene una ligera ventaja sobre Nanonets porque puede utilizarse sin conexión y proporciona resultados más fiables incluso para documentos no estructurados. IronOCR ofrece la posibilidad de utilizar datos entrenados a medida con una integración rápida para obtener resultados más precisos. Nanonets OCR ofrece la posibilidad de entrenar el modelo basándose en campos clave, y puede ser difícil de detectar si no se entrena adecuadamente. Además, IronOCR ofrece soporte multilingüe y admite más de 127 idiomas internacionales.
Ahora puede conseguir cinco productos Iron por el precio de dos como parte de la completa Iron Suite. Visite esta páginaenlace para explorar más.
IronOCR también proporciona unprueba gratuita con garantía de devolución del dinero. Puede descargar IronOCR desde aquíenlace.
9 productos API .NET para sus documentos de oficina