COMPARACIóN CON OTROS COMPONENTES

Comparación entre IronOCR y Nanonets OCR

Actualizado 8 de mayo, 2023
Compartir:

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
  • API de OCR de Nanonets

Introducción

IronOCR - Biblioteca C

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.

Características

  • Idiomas internacionales: 127+ y compatibilidad con idiomas personalizados.
  • Lectura de texto y códigos de barras: Lee texto y números en varios idiomas a la vez.
  • Documentos especializados: Leer texto de documentos especializados como recibos, cheques y facturas.
  • Leer desde muchos formatos: Leer desde imágenes (PNG, JPG, GIF, TIFF, BMP), System.Drawing Objects, flujos, documentos PDF, etc.
  • Funciones de preprocesamiento: Incluye funciones de preprocesamiento como el asistente de filtros, la corrección de imágenes, la corrección de la orientación y la corrección del color.
  • 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

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

  • Captura automática de datos
  • Validación de los datos extraídos
  • Capacidad de entrenamiento y reentrenamiento de modelos
  • Tiempo de respuesta rápido de la API
  • Implantación local disponible en varios idiomas
  • Modelo de aprendizaje continuo de IA
  • No es necesario configurar plantillas
  • Múltiples opciones de exportación disponibles

    El resto del artículo es el siguiente:

  1. Creación del proyecto de Visual Studio
  2. Instalación de IronOCR
  3. Instalación de la API OCR de Nanonets
  4. Imagen a texto
  5. Código de barras y QR a texto
  6. PDF a texto
  7. Licencias
  8. Conclusión

1. Creación del proyecto de Visual Studio

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ágina Sitio web de Visual Studio.

Ahora, necesitamos crear un proyecto de consola para empezar con ambas librerías. Siga los pasos para crear un proyecto:

  • Abre tu Visual Studio 2022.
  • Haga clic en Crear un nuevo proyecto.

    Comparación entre IronOCR y Nanonets OCR: Figura 1

  • Seleccione Aplicación de Consola C# de las opciones dadas.

    Comparación entre IronOCR y Nanonets OCR: Figura 2

  • Configure su nuevo proyecto con un nombre y una ubicación. Por ejemplo, llámalo "OCRProject".
  • Haga clic en Siguiente.

    Comparación entre IronOCR y Nanonets OCR: Figura 3

  • En información adicional, seleccione .NET 6.0 Framework, ya que es la versión más estable.

    Comparación entre IronOCR y Nanonets OCR: Figura 4

  • 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.

2. Instalación de IronOCR

Hay varias formas de instalar la biblioteca IronOCR. Veámoslos uno por uno.

2.1. Uso del gestor de paquetes NuGet de Visual Studio

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:

  • Haz clic en la pestaña Herramientas.
  • Ampliar la opción Gestor de paquetes NuGet.
  • Haga clic en Administrar paquetes NuGet para soluciones.

    Comparación entre IronOCR y Nanonets OCR: Figura 5

    Alternativamente:

  • Haga clic con el botón derecho del ratón en el Explorador de soluciones.
  • Haga clic en Administrar paquetes NuGet.

    Comparación entre IronOCR y Nanonets OCR: Figura 6

    Ahora se abrirá la ventana del Gestor de paquetes NuGet. Busque IronOCR y haga clic en Instalar.

    Comparación entre IronOCR y Nanonets OCR: Figura 7

2.2. Descargar desde el sitio web de NuGet

IronOCR también puede descargarse directamente del sitio web oficial de NuGet. Siga los siguientes pasos:

  1. Haga clic en el enlace "".
  2. Haga clic en la opción "descargar paquete" situada en la parte derecha de la página.
  3. Abra el paquete descargado y comenzará la instalación.
  4. Por último, vuelva a cargar la solución y ya está.

2.3. Descarga a través de la página web de IronOCR

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.

Comparación entre IronOCR y Nanonets OCR: Figura 8

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.

  1. Haga clic con el botón derecho en las dependencias del proyecto en Visual Studio desde el explorador de soluciones.
  2. A continuación, seleccione la opción Añadir referencia de proyecto.
  3. Busque la ubicación del archivo DLL descargado.
  4. Por último, pulse OK para añadir una referencia de proyecto.

2.4. Uso del símbolo del sistema en Visual Studio

  1. Vaya a la pestaña Herramientas de Visual Studio.
  2. Ampliar la opción Gestor de paquetes NuGet.
  3. Seleccione Package Manager Console y escriba el siguiente comando:
Install-Package IronOcr

Esto descargará e instalará automáticamente IronOCR en su proyecto.

Ahora, estamos listos para utilizar IronOCR en nuestro proyecto.

2.5. Añadir los espacios de nombres IronOCR necesarios

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
VB   C#

Ahora, vamos a instalar Nanonets OCR API.

3. Instalación de Nanonets OCR

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:

  1. Regístrate en Nanonets - Puedes registrarte para una prueba gratuita utilizando tu cuenta de Gmail o un correo electrónico registrado en Nanonets.
  2. Crear un modelo OCR - Esto generará un ID de modelo que se utilizará más tarde al hacer llamadas a la API.
  3. Obtenga una clave API gratuita - Vaya a la pestaña Información de cuentas y haga clic en Claves API. Aquí puedes añadir nuevas claves o utilizar una ya existente.

3.1. Añadir espacio de nombres RestSharp

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.

4. Imágenes a texto

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.

4.1. Utilización de IronOCR

IronOCR hace que sea muy fácil para los desarrolladores leer 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
VB   C#

Imagen de entrada

Comparación entre IronOCR y Nanonets OCR: Figura 9

Salida

Comparación entre IronOCR y Nanonets OCR: Figura 10

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.

4.2. Utilización de Nanonets OCR

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)
VB   C#

Comparación entre IronOCR y Nanonets OCR: Figura 11

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.

5. Código de barras y código QR a texto

5.1. Utilización de IronOCR

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
VB   C#

IMAGEN DE ENTRADA

SALIDA

Los tres códigos de barras de la imagen de entrada se leen correctamente y se muestra su texto oculto.

5.2. Utilización de Nanonets OCR

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.

6. PDF a texto

6.1. Utilización de IronOCR

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
VB   C#

El texto extraído tiene el mismo formato que el archivo PDF.

6.2. Utilización de Nanonets OCR

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
VB   C#

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.

7. Licencias

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 $599 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, visite enlace.

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 enlace enlace.

8. Conclusión

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 en aquí.

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ágina enlace para explorar más.

IronOCR también proporciona un prueba gratuita con garantía de devolución del dinero. Puede descargar IronOCR desde aquí enlace.

< ANTERIOR
Comparación entre el software OCR de Iris y IronOCR
SIGUIENTE >
Comparación entre IronOCR y Aspose.OCR

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 2,012,139 Ver licencias >
123