IRONSOFTWAREHOME

Get Started with OCR in C# and VB.NET

Curtis Chau
Curtis Chau
Updated: 22 de abril de 2026

IronOCR es una biblioteca de software C# que permite a los desarrolladores de software de la plataforma .NET reconocer y leer texto de imágenes y documentos PDF. Es una biblioteca OCR pura .NET que utiliza el motor Tesseract más avanzado conocido, en cualquier lugar.

Instalación

Instalar con el Administrador de paquetes NuGet

Instale IronOCR en Visual Studio o en la línea de comandos con el Administrador de paquetes NuGet. En Visual Studio, navega a la consola con:

  • Herramientas ->
  • Administrador de Paquetes NuGet ->
  • Consola de Paquetes

PM > Install-Package IronOcr

Y consulte IronOCR en NuGet para más información sobre las actualizaciones de versión e instalación.

Hay otros paquetes NuGet de IronOCR disponibles para diferentes plataformas:

IronOcr.Extensions.AdvancedScan para Linux y macOS

Este paquete es para usuarios que utilizan Linux y Mac y también desean las funcionalidades avanzadas para IronOCR.

Solución de problemas

Con la nueva actualización de este paquete, IronOCR combina las dependencias de OpenCV dentro del paquete para simplificarlo, por lo tanto, si los desarrolladores que actualmente importan las dependencias de OpenCV reciben el siguiente error.

The type of namespace name `OpenCvSharp` could not be found(are you missing a using directive or an assembly reference)
Text

Puedes eliminar de manera segura los espacios de nombres de OpenCV, y el problema se resolverá.

Descargue el IronOCR .ZIP

También puedes optar por descargar IronOCR a través de un archivo .ZIP. Haz clic para descargar directamente el DLL. Una vez que hayas descargado el .zip:

Instrucciones para la instalación de .NET Framework 4.0+:

  • Incluye el IronOcr.dll en la carpeta net40 en tu proyecto

  • Y luego agrega referencias de ensamblaje a:

    • System.Configuration
    • System.Drawing
    • System.Web

Instrucciones for .NET Standard, .NET Core 2.0+ y .NET 5

  • Incluye el IronOcr.dll en la carpeta netstandard2.0 en tu proyecto

  • Y luego agrega una referencia al paquete NuGet:

    • System.Drawing.Common 4.7 o superior

Descargue el instalador de IronOCR (solo Windows)

Otra opción es descargar nuestro instalador de IronOCR que instalará todos los recursos necesarios para que IronOCR funcione de inmediato. Ten en cuenta que esta opción es solo para sistemas Windows. Para descargar el instalador, por favor haz clic aquí. Una vez que hayas descargado el .zip:

Instrucciones para la instalación de .NET Framework 4.0+:

  • Incluye el IronOcr.dll en la carpeta net40 en tu proyecto

  • Y luego agrega referencias de ensamblaje a:

    • System.Configuration
    • System.Drawing
    • System.Web

Instrucciones for .NET Standard, .NET Core 2.0+ y .NET 5

  • Incluye el IronOcr.dll en la carpeta netstandard2.0 en tu proyecto

  • Y luego agrega una referencia al paquete NuGet:

    • System.Drawing.Common 4.7 o superior

¿Por qué elegir IronOCR?

IronOCR es una biblioteca de software .NET fácil de instalar, completa y bien documentada.

Elige IronOCR para lograr 99.8%+ de precisión en OCR sin usar servicios web externos, tarifas continuas o enviar documentos confidenciales a través de internet.

Por qué los desarrolladores C# eligen IronOCR sobre Tesseract estándar:

  • Instalación como un solo DLL o NuGet
  • Incluye motores Tesseract 5, 4, y 3 listos para usar.
  • Precisión 99.8% supera significativamente a Tesseract regular.
  • Velocidad asombrosa y multitarea
  • Compatible con MVC, WebApp, Desktop, Console y aplicativos de servidor
  • Sin Exes o código C++ para trabajar
  • Soporte completo de OCR en PDF
  • Realiza OCR en casi cualquier archivo de imagen o PDF
  • Soporte completo para .NET Core, Standard y Framework
  • Despliegue en Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lee códigos de barras y códigos QR
  • Exporta resultados de OCR como XHTML
  • Exporta OCR a documentos PDF buscables
  • Soporte para multihilo
  • 125 idiomas internacionales todos gestionados a través de NuGet o archivos OcrData
  • Extrae Imágenes, Coordenadas, Estadísticas y Fuentes. No solo texto.
  • Se puede usar para redistribuir Tesseract OCR dentro de aplicaciones comerciales y propietarias.

IronOCR destaca al trabajar con imágenes del mundo real y documentos imperfectos, como fotografías o escaneos de baja resolución que pueden tener ruido digital o imperfecciones.

Otras bibliotecas de OCR gratuitas para la plataforma .NET, como otras API de Tesseract for .NET y servicios web, no funcionan tan bien en estos casos del mundo real.

OCR with Tesseract 5 - Start Coding in C#

El siguiente ejemplo de código muestra lo fácil que es leer texto de una imagen usando C# o VB .NET.

Línea única

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;

Hola mundo configurable

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();

// Add multiple images
input.LoadImage("images/sample.jpeg");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

C# PDF OCR

El mismo enfoque se puede utilizar para extraer texto de cualquier documento PDF.

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();

// We can also select specific PDF page numbers to OCR
input.LoadPdf("example.pdf", Password: "password");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

// 1 page for every page of the PDF
Console.WriteLine($"{result.Pages.Length} Pages");

OCR para TIFF de varias páginas

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("multi-frame.tiff", pageindices);
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Códigos de barras y QR

Las instancias de la clase OcrResult.OcrBarcode brindan al desarrollador información detallada sobre cada código de barras escaneado. Las instancias de la clase OcrResult.OcrBarcode brindan al desarrollador información detallada sobre cada código de barras escaneado.

using IronOcr;

IronTesseract ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using OcrInput input = new OcrInput();
input.LoadImage("img/Barcode.png");

OcrResult Result = ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
    // type and location properties also exposed
    Console.WriteLine(Barcode.Value);
}

OCR en áreas específicas de imágenes

Todos los métodos de escaneo y lectura de IronOCR proporcionan la capacidad de especificar exactamente qué parte de una página o páginas deseamos leer el texto. Esto es muy útil cuando miramos formularios estandarizados y puede ahorrar mucho tiempo y mejorar la eficiencia.

Para utilizar las regiones de recorte, necesitaremos agregar una referencia del sistema a System.Drawing para que podamos usar el objeto System.Drawing.Rectangle.

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();

// Dimensions are in pixel
var contentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

input.LoadImage("document.png", contentArea);

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

OCR para escaneos de baja calidad

La clase OcrInput de IronOCR puede corregir escaneos que el Tesseract normal no puede leer.

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageindices);

// fixes digital noise and poor scanning
input.DeNoise();

// fixes rotation and perspective
input.Deskew();

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Exportar resultados de OCR como un PDF con capacidad de búsqueda

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.Title = "Quarterly Report";
input.LoadImage("image1.jpeg");
input.LoadImage("image2.png");
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("image3.gif", pageindices);

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable.pdf");

Conversión de TIFF a PDF con capacidad de búsqueda

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("example.tiff", pageindices);
ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");

Exportar resultados de OCR como HTML

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.Title = "Html Title";
input.LoadImage("image1.jpeg");

OcrResult Result = ocr.Read(input);
Result.SaveAsHocrFile("results.html");

Filtros de mejora de imágenes OCR

IronOCR proporciona filtros únicos a los objetos OcrInput para mejorar el rendimiento del OCR.

Ejemplo de código de mejora de imagen

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.LoadImage("LowQuality.jpeg");

// fixes digital noise and poor scanning
input.DeNoise();

// fixes rotation and perspective
input.Deskew();

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Lista de filtros de imagen OCR

Filtros de entrada para mejorar el rendimiento de OCR que están integrados en IronOCR incluyen:

  • OcrInput.Rotate(double degrees) - Rota las imágenes un número de grados en el sentido de las agujas del reloj. Para una rotación en sentido antihorario, utilice números negativos.
  • OcrInput.Binarize() - Este filtro convierte cada píxel en negro o blanco sin puntos intermedios, lo que potencialmente mejora el rendimiento del OCR en imágenes de muy bajo contraste.
  • OcrInput.ToGrayScale() - Convierte cada píxel en un tono de escala de grises. Puede que no mejore la precisión, pero podría mejorar la velocidad.
  • OcrInput.Contrast() - Aumenta automáticamente el contraste, lo que a menudo mejora la velocidad y precisión en escaneos de bajo contraste.
  • OcrInput.DeNoise() - Elimina el ruido digital, recomendado solo cuando se espera ruido.
  • OcrInput.Invert() - Invierte todos los colores (blanco se convierte en negro y viceversa).
  • OcrInput.Dilate() - Avanza la morfología, añadie píxeles a los límites de los objetos, opuesto de Erosionar.
  • OcrInput.Erode() - Avanza la morfología, elimina píxeles de los límites de los objetos, opuesto de Dilatar.
  • OcrInput.Deskew() - Rota una imagen para orientarla correctamente. Útil porque la tolerancia al sesgo de Tesseract es limitada.
  • OcrInput.EnhanceResolution - Mejora la resolución de imágenes de baja calidad. Esta configuración generalmente se utiliza para gestionar automáticamente la entrada de baja DPI.
  • EnhanceResolution detecta imágenes de baja resolución (por debajo de 275 dpi), las aumenta de escala y agudiza el texto para obtener mejores resultados de OCR. Aunque consume tiempo, a menudo reduce el tiempo total de la operación de OCR.
  • Language - Soporta la selección de 22 paquetes de idiomas internacionales.
  • Strategy - Permite la selección entre estrategias rápidas y menos precisas o avanzadas (utilizando IA para precisión) basadas en la relación estadística de las palabras.
  • ColorSpace - Permite elegir entre OCR en escala de grises o en color; - DetectWhiteTextOnDarkBackgrounds - Ajusta para imágenes negativas, detectando texto blanco en fondos oscuros.
  • DetectWhiteTextOnDarkBackgrounds - Ajusta automáticamente las imágenes negativas, detectando y leyendo automáticamente el texto blanco sobre fondos oscuros.
  • InputImageType - Guía a la biblioteca de OCR, especificando si está trabajando en un documento completo o en un fragmento.
  • RotateAndStraighten - Permite que IronOCR maneje adecuadamente documentos que están rotados o afectados por distorsiones de perspectiva.
  • ReadBarcodes - Lee automáticamente códigos de barras y códigos QR concurrentemente con el escaneo de texto sin un tiempo adicional significativo.
  • ColorDepth - Determina los bits por píxel para la profundidad de color en el proceso de OCR. ## 125 Paquetes de Idiomas

125 paquetes de idiomas

IronOCR admite 125 idiomas internacionales a través de paquetes de idiomas que se distribuyen como DLLs, disponibles para descarga desde este sitio web, o desde el Administrador de Paquetes NuGet.

Existen paquetes para MRZ, cheques MICR, datos financieros, matrículas, etc., además de archivos "traineddata" personalizados de Tesseract. Existen paquetes de idiomas especializados para MRZ, cheques MICR, datos financieros, matrículas, etc. Además, se pueden utilizar archivos Tesseract ".traineddata" personalizados.

Ejemplo de idioma

using IronOcr;

// PM> Install IronOcr.Languages.Arabic
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using OcrInput input = new OcrInput();

var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageindices);
// Add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.
OcrResult result = ocr.Read(input);
// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");

Ejemplo de varios idiomas

Objetos de Resultados de OCR Detallados

using IronOcr;

// PM> Install IronOcr.Languages.ChineseSimplified
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;

// We can add any number of languages
ocr.AddSecondaryLanguage(OcrLanguage.English);

using OcrInput input = new OcrInput();
input.LoadPdf("multi-language.pdf");
OcrResult result = ocr.Read(input);
result.SaveAsTextFile("results.txt");

Objetos de resultados de OCR detallados

Los desarrolladores acceden a la propiedad Text para el texto escaneado. Generalmente, los desarrolladores acceden a la propiedad Text para obtener el texto escaneado. ## Rendimiento

using IronOcr;

IronTesseract ocr = new IronTesseract();

// Must be set to true to read barcode
ocr.Configuration.ReadBarCodes = true;
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\sample.tiff", pageindices);

OcrResult result = ocr.Read(input);
var pages = result.Pages;
var words = pages[0].Words;
var barcodes = result.Barcodes;
// Explore here to find a massive, detailed API:
// - Pages, Blocks, Paraphaphs, Lines, Words, Chars
// - Image Export, Fonts Coordinates, Statistical Data, Tables

Actuación

La velocidad es increíble: IronOcr.2020+ es hasta 10 veces más rápido y comete más de 250% menos errores que versiones anteriores.

Por favor visita este enlace para explorar el Iron Suite.

Más información

Un referencia completa de API para desarrolladores .NET también está disponible.

También está disponible una referencia API completa para desarrolladores .NET .

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 6,236,385Versión:2026.9recién lanzado

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Selecciona Examinar y busca "IronOCR"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargar el instalador de Windows aquí.

  1. Descarga y descomprime IronOCR en una ubicación como ~/Libs dentro de tu directorio de Solución
  2. En Visual Studio Solution Explorer, haz clic derecho en Referencias. Selecciona Examinar, "IronOCR.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta