Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Reconocimiento óptico de caracteres (OCR)es una tecnología crucial para convertir imágenes escaneadas, PDFs y otros documentos digitales en texto legible por máquinas. Se utiliza ampliamente en el procesamiento de documentos, los flujos de trabajo de automatización y los sistemas impulsados por inteligencia artificial que necesitan interpretar texto legible por humanos. Cuando se trata de servicios de OCR, hay muchas herramientas de OCR disponibles para gestionar tareas de OCR. Estos incluyen proveedores de nube como Amazon Web Services(AWS), Microsoft Azure y Google Cloud Vision API en la plataforma de Google Cloud, que ofrece soluciones en la nube poderosas, y bibliotecas de terceros como IronOCR, que presentan alternativas viables para casos de uso específicos o para aquellos que necesitan una potente biblioteca de OCR para uso frecuente de OCR.
En este artículo, compararemos AWS OCR (AWS Textract), Azure OCR (Azure Cognitive Services)yIronOCR, centrándose en las características, el rendimiento, los precios y la usabilidad para desarrolladores para ayudarle a determinar qué herramienta se adapta mejor a las necesidades de su proyecto.
Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.
AWS Textractes el servicio de OCR completamente gestionado por Amazon diseñado para la extracción de texto de documentos escaneados, formularios, tablas y más. Integrado profundamente dentro del ecosistema de AWS, Textract está optimizado para su uso en soluciones en la nube a gran escala y admite tanto el procesamiento de documentos en tiempo real como en lotes.
AWS Textract ofrece un rendimiento excelente, especialmente para el procesamiento por lotes a gran escala. Puede manejar conjuntos de datos extensos de manera eficiente, aunque el procesamiento en tiempo real puede presentar ligeros retrasos dependiendo del volumen de documentos.
Textract se integra a la perfección con otros servicios de AWS, como S3, Lambda y Rekognition, ofreciendo una experiencia cohesiva para los desarrolladores que trabajan en el entorno de AWS. Aquí tienes un ejemplo básico en C# de cómo podrías usar Textract con AWS SDK:
var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1);
var request = new DetectDocumentTextRequest
{
Document = new Document
{
S3Object = new S3Object
{
Bucket = "your-bucket-name",
Name = "your-document-name"
}
}
};
var response = await textractClient.DetectDocumentTextAsync(request);
foreach (var block in response.Blocks)
{
Console.WriteLine($"Detected text: {block.Text}");
}
var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1);
var request = new DetectDocumentTextRequest
{
Document = new Document
{
S3Object = new S3Object
{
Bucket = "your-bucket-name",
Name = "your-document-name"
}
}
};
var response = await textractClient.DetectDocumentTextAsync(request);
foreach (var block in response.Blocks)
{
Console.WriteLine($"Detected text: {block.Text}");
}
Dim textractClient = New AmazonTextractClient(RegionEndpoint.USEast1)
Dim request = New DetectDocumentTextRequest With {
.Document = New Document With {
.S3Object = New S3Object With {
.Bucket = "your-bucket-name",
.Name = "your-document-name"
}
}
}
Dim response = Await textractClient.DetectDocumentTextAsync(request)
For Each block In response.Blocks
Console.WriteLine($"Detected text: {block.Text}")
Next block
AWS Textract sigue un modelo de pago por uso.modelo de precios, donde se le cobra según la cantidad de páginas procesadas. Los precios pueden acumularse rápidamente para proyectos grandes, aunque es rentable para el uso a demanda.
Azure Cognitive ServicesLa solución OCR está diseñada para extraer texto de imágenes y PDF y puede integrarse fácilmente en aplicaciones basadas en Azure. Es adecuado para flujos de trabajo de documentos en entornos de nube e híbridos y se puede personalizar para manejar implementaciones a gran escala.
Azure OCR sobresale en el procesamiento en tiempo real con una arquitectura eficiente que admite la extracción rápida de texto. Las capacidades de procesamiento por lotes también son robustas, con la infraestructura de nube escalable de Azure asegurando operaciones fluidas incluso durante cargas máximas.
Azure OCR se integra estrechamente con otros servicios de Azure como Azure Blob Storage y Azure Functions, lo que facilita la construcción de flujos de trabajo de extremo a extremo. El servicio es accesible mediante la API REST, y aquí tienes un ejemplo en C#:
var client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("your-api-key"))
{
Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"
};
var ocrResult = await client.RecognizePrintedTextInStreamAsync(true, imageStream);
foreach (var region in ocrResult.Regions)
{
foreach (var line in region.Lines)
{
foreach (var word in line.Words)
{
Console.WriteLine(word.Text);
}
}
}
var client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("your-api-key"))
{
Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"
};
var ocrResult = await client.RecognizePrintedTextInStreamAsync(true, imageStream);
foreach (var region in ocrResult.Regions)
{
foreach (var line in region.Lines)
{
foreach (var word in line.Words)
{
Console.WriteLine(word.Text);
}
}
}
Dim client = New ComputerVisionClient(New ApiKeyServiceClientCredentials("your-api-key")) With {.Endpoint = "https://your-endpoint.cognitiveservices.azure.com/"}
Dim ocrResult = Await client.RecognizePrintedTextInStreamAsync(True, imageStream)
For Each region In ocrResult.Regions
For Each line In region.Lines
For Each word In line.Words
Console.WriteLine(word.Text)
Next word
Next line
Next region
Azure OCR ofrece nivelesprecios, basado en el número de transacciones. Se considera generalmente rentable para las empresas que ya aprovechan la infraestructura de Azure, aunque los precios pueden aumentar significativamente para conjuntos de datos grandes.
IronOCRes una sólida biblioteca de herramientas OCR de terceros diseñada para desarrolladores .NET. Permite implementaciones tanto en local como en la nube, ofreciendo más flexibilidad que AWS o Azure para desarrolladores que necesitan un control estricto sobre sus herramientas de OCR.
IronOCR está optimizado para una extracción rápida de texto, especialmente cuando se ejecuta en hardware dedicado. Para los desarrolladores que necesitan procesar datos localmente o en escenarios de nube híbrida, IronOCR es una excelente opción, ya que ofrece un alto rendimiento incluso en entornos con recursos limitados.
IronOCR es altamente versátil y fácil de usar con C#. He aquí un ejemplo sencillo:
using IronOcr;
// Creating a new instance of IronTesseract
var ocr = new IronTesseract();
// Creating a new IronOCR image input from the specified image filepath
using var input = new OcrImageInput("test.png");
// Setting the OCR language
ocr.Language = OcrLanguage.English;
// Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
OcrResult result = ocr.Read(input);
// Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text);
using IronOcr;
// Creating a new instance of IronTesseract
var ocr = new IronTesseract();
// Creating a new IronOCR image input from the specified image filepath
using var input = new OcrImageInput("test.png");
// Setting the OCR language
ocr.Language = OcrLanguage.English;
// Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
OcrResult result = ocr.Read(input);
// Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text);
Imports IronOcr
' Creating a new instance of IronTesseract
Private ocr = New IronTesseract()
' Creating a new IronOCR image input from the specified image filepath
Private input = New OcrImageInput("test.png")
' Setting the OCR language
ocr.Language = OcrLanguage.English
' Reads the text from the provided OcrImageInput object and returns an OcrResult object containing the extracted text
Dim result As OcrResult = ocr.Read(input)
' Writing all of the text to a new text file and saving it
File.WriteAllText("result.txt", result.Text)
El modelo de licenciamiento de IronOCR es más flexible que el de AWS o Azure. Pagas una tarifa única por una licencia perpetua, lo cual puede ser más rentable para proyectos pequeños y medianos. Como un extra, IronOCR ofrece un prueba gratuitaestán disponibles a partir de $749, con opciones personalizadas para uso empresarial.
La tabla de comparación destaca las diferencias principales entre AWS Textract, Azure OCR e IronOCR, enfocándose en factores clave como precisión, formatos compatibles, capacidades especiales, rendimiento, integración y precios.
AWS Textract sobresale en el manejo de documentos estructurados, como formularios y tablas, lo que lo convierte en una opción sólida para las empresas que necesitan extracción de datos detallada de documentos escaneados. Azure OCR, por otro lado, se destaca por su superior soporte multilingüe, lo que lo hace ideal para aplicaciones globales que requieren extracción de texto de diversos idiomas.
IronOCRse diferencia con sus capacidades de procesamiento local y en las instalaciones, ofreciendo características avanzadas como el reconocimiento de escritura a mano, y el procesamiento especializado de documentos como pasaportes, ycódigos de barras, que no siempre están disponibles en soluciones basadas en la nube. Además, su modelo de precios, basado en una tarifa de licencia única, proporciona ahorros a largo plazo para proyectos más pequeños o equipos que necesitan procesamiento OCR local sin el costo adicional de cargos continuos en la nube. Cada solución tiene sus fortalezas, por lo que elegir la adecuada depende de la escala de tu proyecto, las características requeridas y el entorno de implementación.
A lo largo de este artículo, examinamos algunas herramientas de OCR populares y potentes. Tanto AWS Textract como Azure OCR ofrecen potentes capacidades de OCR escalables, especialmente para las empresas que ya han invertido en sus respectivos ecosistemas de nube. AWS sobresale en el procesamiento de documentos estructurados, mientras que el soporte multilingüe de Azure es una gran ventaja.
Sin embargo,IronOCRse destaca para los desarrolladores que necesitan soluciones flexibles en las instalaciones o prefieren un modelo de licencia perpetua. Si bien las herramientas OCR basadas puramente en la nube, como las que vimos hoy o incluso otras como las herramientas de OCR de Google, pueden ser populares para aquellos que buscan un uso esporádico o básico de OCR, IronPDF se esfuerza por proporcionar a quienes requieren un uso más frecuente de OCR una herramienta poderosa para manejar prácticamente cualquier tarea relacionada con OCR. Su alta precisión de OCR, la facilidad de integración en proyectos .NET y las características avanzadas como el reconocimiento de texto manuscrito lo convierten en un fuerte competidor para los desarrolladores .NET que buscan una herramienta de OCR potente y completa.
En última instancia, tu elección entre AWS, Azure e IronOCR dependerá de la escala de tu proyecto, presupuesto y necesidades específicas de OCR.
10 productos API de .NET para sus documentos de oficina