USO DE IRONOCR

Cómo obtener texto de una captura de pantalla con OCR en C#

Kannaopat Udonpant
Kannapat Udonpant
22 de febrero, 2023
Actualizado 18 de diciembre, 2023
Compartir:

Mucha gente por ahí se estará preguntando "¿Qué es una captura de pantalla OCR?". Otros se preguntarán cómo convertir una captura de pantalla de cualquier texto en un formato digital editable o en formato .txt, o .doc. Si usted es una de estas personas, no se preocupe más porque tenemos las soluciones perfectas para usted.

En este artículo, hablaremos de diferentes herramientas que le permitirán realizar OCR, Reconocimiento Óptico de Caracteres, en capturas de pantalla.

Existen muchas herramientas de OCR, pero hoy usaremos IronOCR para extraer texto de capturas de pantalla.

1. IronOCR

IronOCR es una biblioteca de software para los lenguajes de programación C# y VB.NET, diseñada para permitir a los desarrolladores añadir capacidades de OCR (Reconocimiento Óptico de Caracteres) a sus aplicaciones. La biblioteca puede utilizarse para reconocer texto en imágenes y convertirlo en texto legible por máquina. La biblioteca se basa en el motor Tesseract OCR, considerado uno de los más precisos del mercado.

IronOCR puede utilizarse para leer texto de imágenes en muchos formatos de archivo diferentes, como PNG, JPG, TIFF y PDF. También ofrece una serie de funciones avanzadas para trabajar con el reconocimiento de texto, como la capacidad de reconocer varios idiomas, así como la capacidad de reconocer texto de imágenes que han sido giradas o sesgadas. Además, los desarrolladores pueden utilizar IronOCR para integrar rápidamente la funcionalidad de OCR en sus aplicaciones, ya que proporciona una API sencilla y fácil de usar que se puede llamar desde código C# o VB.NET. Con IronOCR puede elegir su idioma de OCR y realizar OCR en imágenes, archivos PDF digitales y archivos PDF escaneados.

IronOCR se considera una buena opción para los desarrolladores que deseen añadir funciones de OCR a sus aplicaciones. Es de código abierto, fácil de usar e integrar, rápido, preciso y está actualizado con las últimas tecnologías de OCR.

2. Características de IronOCR

IronOCR ofrece una amplia gama de funciones para ayudar a los desarrolladores a integrar la funcionalidad OCR en sus aplicaciones. Algunas de las principales características de IronOCR son:

  1. Soporte multilingüe: IronOCR puede reconocer texto en más de 60 idiomas, incluidos inglés, español, alemán, francés, italiano y chino.

  2. Detección automática de orientación del texto: IronOCR puede detectar automáticamente la orientación del texto en una imagen, incluso si la imagen ha sido rotada o distorsionada.

  3. Soporte para una amplia gama de formatos de imagen: IronOCR puede leer texto de imágenes en muchos formatos de archivo diferentes, incluyendo PNG, JPG, TIFF y PDF.

  4. Configuraciones de reconocimiento personalizables: Los desarrolladores pueden personalizar las configuraciones de reconocimiento para mejorar la precisión del reconocimiento para tipos de imágenes o casos de uso específicos.

  5. Capacidad para reconocer texto de documentos escaneados y PDF con varias páginas.

  6. Reconocimiento rápido y alta precisión: IronOCR utiliza el motor de OCR Tesseract, que es uno de los motores de OCR más precisos y ampliamente utilizados disponibles.

  7. API fácil de usar: IronOCR ofrece una API simple y fácil de usar que se puede invocar desde código C# o VB.NET, lo que facilita la integración de la funcionalidad OCR en cualquier aplicación.

    En general, IronOCR es una potente herramienta que ofrece una amplia gama de funciones para ayudar a los desarrolladores a añadir funciones de OCR a sus aplicaciones.

3. Creación de un nuevo proyecto en Visual Studio

Abra Visual Studio y vaya al menú Archivo. Seleccione "Nuevo Proyecto" y luego seleccione Aplicación de Consola.

Introduzca el nombre del proyecto y seleccione la ruta en el cuadro de texto correspondiente. A continuación, haga clic en el botón Crear. Seleccione el .NET Framework necesario, como en la captura de pantalla siguiente:

Cómo obtener texto de una captura de pantalla en C# mediante OCR, Figura 1: Creación de un nuevo proyecto en Visual Studio

Creación de un nuevo proyecto en Visual Studio

El proyecto de Visual Studio generará ahora la estructura para la aplicación de consola. Una vez terminado, se abrirá el archivo program.cs, en el cual puedes escribir y ejecutar código fuente.

Cómo obtener texto OCR de una captura de pantalla en C#, Figura 2: El archivo program.cs, generado desde el asistente de nuevo proyecto de Visual Studio

El archivo program.cs, generado desde el asistente de nuevo proyecto de Visual Studio

Ahora podemos añadir la librería IronOCR y probar el programa.

4. Instalar IronOCR

En Visual Studio, puede integrar fácilmente IronOCR con su proyecto C#.

IronOCR ofrece múltiples procesos para integrarse con un proyecto C# .NET. A continuación, hablaremos de uno de ellos: la instalación de IronOCR mediante el gestor de paquetes NuGet.

En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes

Cómo obtener texto de una captura de pantalla con OCR en C#, Figura 3: La interfaz del Administrador de Paquetes NuGet

La interfaz de usuario del administrador de paquetes NuGet

Tras hacer clic, aparecerá una nueva consola en la parte inferior de la ventana de Visual Studio. Escriba el siguiente comando en la consola y pulse Intro.

Install-Package IronOcr

IronOCR se instalará en sólo unos segundos.

5. Uso de IronOCR para realizar OCR en una captura de pantalla

IronOCR es una potente librería OCR que puede utilizarse para reconocer texto de capturas de pantalla. Con IronOCR, puede realizar una captura de pantalla de texto y, a continuación, utilizar las funciones de OCR de la biblioteca para convertir el texto de la captura de pantalla en un formato digital editable. A continuación se muestra un ejemplo de cómo utilizar IronOCR para realizar un OCR en una captura de pantalla en C#. Para realizar el OCR de capturas de pantalla, sólo tienes que capturar una pantalla y ejecutar el siguiente código para extraer el texto a cualquier formato de salida que desees.

using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
Imports IronOcr
Imports System

Private imageText As String = (New IronTesseract()).Read("ocr.png").Text
Console.WriteLine(imageText)
$vbLabelText   $csharpLabel

Archivo de imagen de entrada

Cómo obtener texto OCR de una captura de pantalla en C#, Figura 4: Ejemplo de captura de pantalla utilizada como entrada

Captura de pantalla de muestra utilizada para la entrada

Salida de texto

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 127+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6. Uso de IronOCR para realizar OCR en una zona específica

IronOCR permite realizar OCR en zonas específicas de una imagen. Esto puede ser útil cuando la imagen contiene varias regiones de texto, y sólo desea reconocer el texto dentro de una región específica. A continuación se muestra un ejemplo de código.

using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Private ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput()
	Dim contentArea = New CropRectangle(x:= 0, y:= 0, width:= 350, height:= 150)
	ocrInput.AddImage("ocr.png", contentArea)
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

Salida

  • IRONOCR para NET
  • Biblioteca OCR de C#
  • OCR para C# para escanear y leer imágenes y archivos PDF
  • NET con más de 127 paquetes de idiomas globales

7. Uso de IronOCR para realizar OCR en una imagen

Para realizar un OCR en una imagen y guardar el texto reconocido en un archivo .txt, puede utilizar el siguiente código.

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("ocr.png")
	Dim result = ocr.Read(input)
	result.SaveAsTextFile("output.txt")
End Using
$vbLabelText   $csharpLabel

A continuación se muestra el contenido del archivo de salida:

Cómo obtener texto de una captura de pantalla mediante OCR en C#, Figura 5: Contenido del archivo output.txt generado

Contenidos del archivo generado output.txt

8. Más información

Lea el tutorial de Extracción de Texto de Imagen para obtener más información sobre cómo realizar OCR en imágenes.

IronOCR es parte de una suite de cinco bibliotecas .NET diseñadas para trabajar con diferentes tipos de documentos. Puedes comprar las cinco bibliotecas por el precio de solo dos licencias.

Kannaopat Udonpant
Ingeniero de software
Antes de convertirse en ingeniero de software, Kannapat realizó un doctorado en Recursos Medioambientales en la Universidad de Hokkaido (Japón). Mientras cursaba su licenciatura, Kannapat también se convirtió en miembro del Laboratorio de Robótica Vehicular, que forma parte del Departamento de Ingeniería de Bioproducción. En 2022, aprovechó sus conocimientos de C# para unirse al equipo de ingeniería de Iron Software, donde se centra en IronPDF. Kannapat valora su trabajo porque aprende directamente del desarrollador que escribe la mayor parte del código utilizado en IronPDF. Además del aprendizaje entre iguales, Kannapat disfruta del aspecto social de trabajar en Iron Software. Cuando no está escribiendo código o documentación, Kannapat suele jugar con su PS5 o volver a ver The Last of Us.
< ANTERIOR
Cómo obtener texto de una factura en C# Tutorial
SIGUIENTE >
Cómo hacer OCR de subtítulos en C# (Tutorial)