Saltar al pie de página
USANDO IRONOCR

OCR C# GitHub: Implementación del reconocimiento de texto con IronOCR

La búsqueda de soluciones de OCR en GitHub a menudo da como resultado documentación fragmentada, configuraciones complejas de Tesseract y proyectos que no se han actualizado en mucho tiempo. Para los desarrolladores de C# que necesitan una extracción de texto fiable a partir de imágenes y archivos PDF, navegar por el panorama de repositorios puede consumir horas que estarían mejor empleadas codificando. Muchos proyectos de reconocimiento óptico de caracteres de código abierto requieren la gestión manual de binarios, la descarga de archivos de datos de prueba y la solución de problemas del sistema Windows.

Este tutorial muestra cómo implementar la funcionalidad OCR en proyectos C# utilizando IronOCR, una biblioteca refinada que elimina los dolores de cabeza de configuración comunes con implementaciones Tesseract sin procesar. Tanto si se trata de crear cadenas de procesamiento de documentos como de añadir reconocimiento de texto a aplicaciones existentes, esta guía proporciona ejemplos de código de trabajo listos para proyectos de OCR C# GitHub.

¿Qué hace que IronOCR sea ideal para proyectos de código C# basados en GitHub?

IronOCR proporciona una biblioteca .NET gestionada distribuida a través de NuGet, lo que facilita su integración en cualquier repositorio de GitHub. A diferencia de las envolturas Tesseract OCR de código abierto que requieren la gestión manual de los binarios y la configuración de los datos de prueba, IronOCR gestiona estas dependencias internamente y funciona desde el primer momento.

La biblioteca mantiene repositorios de ejemplos oficiales en GitHub que los desarrolladores pueden clonar y consultar. Estos tutoriales muestran implementaciones del mundo real, incluyendo conversión de imagen a texto, soporte para múltiples idiomas y procesamiento de PDF. Los colaboradores pueden probar las funciones inmediatamente después de la clonación.

Para empezar en Visual Studio, instale IronOCR a través del gestor de paquetes NuGet:

Install-Package IronOcr
Install-Package IronOcr
SHELL

OCR C# GitHub: Implementar el reconocimiento de texto con IronOCR: Imagen 1 - Instalación

Una vez instalado, este paquete único incluye todo lo necesario para las operaciones de OCR en entornos Windows, Linux y macOS. La biblioteca es compatible con .NET Framework 4.6.2+, .NET Core y .NET 5-10 para ofrecer la máxima compatibilidad.

¿Cómo extraer texto de formatos de imagen en C#?

El siguiente ejemplo muestra la extracción básica de texto utilizando la clase IronTesseract de IronOCR. Este motor de OCR lee varios formatos de imagen, incluidos PNG, JPG, JPEG, BMP, GIF y TIFF:

using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La clase IronTesseract sirve como motor principal de OCR, construido sobre una implementación optimizada de Tesseract 5. Tras crear una instancia, el objeto OcrInput carga la imagen de destino desde un disco, una URL o una matriz de bytes. El método Read procesa la entrada y devuelve un OcrResult que contiene el texto plano extraído junto con un porcentaje de confianza que indica la precisión del reconocimiento. Los valores de confianza más altos (por encima del 90%) suelen indicar documentos fuente limpios y bien formateados.

Entrada

OCR C# GitHub: Implementar reconocimiento de texto con IronOCR: Imagen 2 - Entrada de ejemplo

Resultado

OCR C# GitHub: Implementación del reconocimiento de texto con IronOCR: Imagen 3 - Salida de la consola

El objeto OcrResult proporciona acceso estructurado al contenido reconocido. Además del texto sin formato, los desarrolladores pueden acceder a palabras, líneas, párrafos y caracteres individuales, junto con sus posiciones y puntuaciones de confianza. Cada palabra incluye coordenadas de rectángulo delimitador, lo que la hace útil para aplicaciones que requieren datos precisos de localización de texto, como la anotación de documentos o la extracción de campos de formulario.

OCR C# GitHub: Implementar el reconocimiento de texto con IronOCR: Imagen 4 - Características

¿Cómo mejora el preprocesamiento de imágenes la precisión del reconocimiento óptico de caracteres?

Los documentos escaneados suelen llegar torcidos, con ruido o con resoluciones que no son las óptimas. IronOCR incluye filtros de preprocesamiento incorporados que corrigen estos problemas antes de que el motor de OCR procese la imagen:

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El método Deskew detecta y corrige automáticamente la rotación de la imagen hasta 15 grados. El filtro DeNoise elimina el moteado y los artefactos comunes en documentos fotografiados o escaneados antiguos. EnhanceResolution aumenta la resolución de las imágenes de baja DPI al rango de 200-300 DPI, óptimo para el reconocimiento óptico de caracteres. Estas funciones pueden encadenarse y ejecutarse en memoria sin necesidad de archivos temporales. En muchos casos, varias pasadas de preprocesamiento pueden mejorar drásticamente los resultados del reconocimiento de texto en documentos con graves problemas de calidad.

¿Se pueden extraer códigos de barras y códigos QR junto con texto?

IronOCR puede reconocer simultáneamente texto y escanear códigos de barras dentro del mismo documento. Este tipo de doble funcionalidad resulta muy útil para procesar facturas, etiquetas de envío y documentos de inventario:

using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cuando ReadBarCodes está activado y se establece en true, la detección de códigos de barras se activa sin afectar significativamente al tiempo de procesamiento. La colección Barcodes del resultado contiene el valor y el tipo de formato de cada código de barras detectado, y admite formatos estándar como códigos QR, Code 128, EAN-13 y UPC. Esta doble capacidad elimina la necesidad de bibliotecas de escaneado de códigos de barras independientes cuando se procesan documentos que contienen tanto texto legible por humanos como código legible por máquinas.

Entrada

OCR C# GitHub: Implementación del reconocimiento de texto con IronOCR: Imagen 5 - Ejemplo de imagen de código de barras

Resultado

OCR C# GitHub: Implementar reconocimiento de texto con IronOCR: Imagen 6 - Salida de texto de código de barras de consola

¿Cómo generar archivos PDF con capacidad de búsqueda a partir de imágenes escaneadas?

La conversión de documentos escaneados a PDFs con capacidad de búsqueda permite seleccionar, copiar y buscar texto completo. Se trabaja con varios formatos de imagen como entrada:

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El método SaveAsSearchablePdf incrusta una capa de texto invisible que coincide con el contenido reconocido, preservando la apariencia del documento original mientras permite operaciones de texto. De este modo se crean documentos conformes con PDF/A aptos para sistemas de archivo y gestión de documentos empresariales. También puede exportar los resultados como JSON para su integración con otros sistemas.

¿Cuáles son las mejores prácticas para el OCR en proyectos de GitHub?

Cuando mantenga proyectos de OCR en GitHub, tenga en cuenta estas recomendaciones para su repositorio:

  • Utiliza Git LFS para imágenes de prueba de gran tamaño para evitar inflar el tamaño del repositorio
  • Almacene las claves de licencia en variables de entorno o en GitHub Secrets, nunca en el código C# comprometido-refiérase a la guía de configuración de claves de licencia
  • Incluir imágenes de muestra en una carpeta de datos de prueba dedicada para que los colaboradores verifiquen la funcionalidad del OCR
  • Documentar los formatos de imagen compatibles en los archivos LÉAME para establecer expectativas claras y responder a preguntas comunes
  • Construir y ejecutar pruebas en canalizaciones CI para garantizar que la biblioteca funciona correctamente con cada versión

Para los flujos de trabajo de GitHub Actions, IronOCR se ejecuta en entornos de contenedores en Windows y Linux. Consulte la guía de implementación de Linux para obtener detalles de configuración cuando se dirija a ejecutores que no sean de Windows.

IronOCR también es compatible con múltiples idiomas, incluidos inglés, español, francés, chino y más de 120 idiomas. Descargue paquetes de idiomas a través de NuGet para activar el reconocimiento de texto en idiomas distintos del inglés. Esto ofrece acceso gratuito a OCR para casi cualquier idioma que necesite su sistema.

Conclusión

IronOCR agiliza la implementación de OCR en proyectos de C# GitHub a través de su intuitiva API, el preprocesamiento automático de imágenes y su fiable compatibilidad multiplataforma. Los ejemplos de código anteriores proporcionan una base para la creación de aplicaciones de procesamiento de documentos que se integran sin problemas con los flujos de trabajo de desarrollo basados en GitHub. La biblioteca funciona con .NET Framework, .NET Core y las versiones modernas de .NET, por lo que ofrece una amplia compatibilidad para cualquier tipo de proyecto.

Inicie una prueba gratuita para explorar todas las funciones, o vea las opciones de licencia para la implementación en producción.

OCR C# GitHub: Implementación del reconocimiento de texto con IronOCR: Imagen 7 - Licencias

Preguntas Frecuentes

¿Qué es IronOCR?

IronOCR es una potente biblioteca de reconocimiento óptico de caracteres (OCR) para C# que simplifica la extracción de texto de imágenes y archivos PDF.

¿Por qué los desarrolladores deberían elegir IronOCR en lugar de las soluciones de OCR de GitHub?

IronOCR ofrece funciones de OCR fiables y actualizadas sin necesidad de configuraciones complejas ni gestión manual de binarios, a diferencia de muchos proyectos fragmentados de GitHub.

¿Puede IronOCR manejar tanto imágenes como documentos PDF?

Sí, IronOCR está diseñado para extraer texto de forma eficaz tanto de imágenes como de documentos PDF.

¿Necesito gestionar archivos de datos de prueba al utilizar IronOCR?

No, IronOCR elimina la necesidad de gestionar manualmente los archivos de datos de prueba, lo que simplifica el proceso de implementación del OCR.

¿Es IronOCR compatible con los sistemas Windows?

Sí, IronOCR es totalmente compatible con los sistemas Windows, lo que proporciona una experiencia de instalación y uso sin problemas y sin necesidad de solucionar problemas.

¿Cómo mejora IronOCR el flujo de trabajo de los desarrolladores?

IronOCR agiliza el proceso de integración de OCR, lo que permite a los desarrolladores centrarse más en la codificación en lugar de lidiar con documentación y configuraciones fragmentadas.

¿Para qué lenguaje de programación está diseñado IronOCR?

IronOCR está diseñado específicamente para desarrolladores de C# y ofrece una solución de OCR robusta adaptada al ecosistema del lenguaje.

Kannaopat Udonpant
Ingeniero de Software
Antes de convertirse en Ingeniero de Software, Kannapat completó un doctorado en Recursos Ambientales de la Universidad de Hokkaido en Japón. Mientras perseguía su grado, Kannapat también se convirtió en miembro del Laboratorio de Robótica de Vehículos, que es parte del Departamento de Ingeniería ...
Leer más