Saltar al pie de página

Código VB.NET para Comenzar

C# + VB.NET: AutoOCR AutoOCR
using IronOcr;

string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr

Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
Install-Package IronOcr

IronOCR es único en su capacidad de detectar y leer automáticamente texto de imágenes y documentos PDF escaneados imperfectamente. La clase IronTesseract proporciona la API más sencilla.

Prueba otros ejemplos de código para obtener un control detallado de tus operaciones OCR en C#.

IronOCR ofrece la versión más avanzada de Tesseract conocida en cualquier parte, en cualquier plataforma, con mayor velocidad, precisión y un DLL y API nativo.

Compatible con Tesseract 3, Tesseract 4, y Tesseract 5 for .NET Framework, Standard, Core, Xamarin, y Mono.

Explore the IronTesseract C# OCR How-To Guide

C# + VB.NET: Idiomas intl. Idiomas intl.
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

ocrTesseract.Language = OcrLanguage.Arabic;

using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(@"images\arabic.gif");
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}

// Example with a Custom Trained Font Being used:

var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);

using (var ocrInput = new OcrInput())
{
    ocrInput.LoadPdf(@"images\mixed-lang.pdf");
    var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()

ocrTesseract.Language = OcrLanguage.Arabic

Using ocrInput As New OcrInput()
	ocrInput.LoadImage("images\arabic.gif")
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using

' Example with a Custom Trained Font Being used:

Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)

Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("images\mixed-lang.pdf")
	Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
Install-Package IronOcr

Compatibilidad con idiomas de IronOCR

IronOCR admite 125 idiomas internacionales. Además del inglés, que se instala por defecto, los paquetes de idiomas adicionales se pueden agregar a su proyecto .NET a través de NuGet o descargarlos de nuestra Página de Idiomas. En España, el soporte multilingüe es especialmente relevante: la LOPDGDD exige que el tratamiento de datos personales sea preciso y trazable con independencia del idioma del documento, por lo que un OCR con cobertura de los cuatro idiomas cooficiales del país es un requisito de cumplimiento, no una opción.

La mayoría de los idiomas están disponibles en Fast, Standard (recomendado), y Best calidad. La opción de calidad Best puede ofrecer resultados más precisos, pero también será más lenta en tiempo de procesamiento.

Aplicaciones regulatorias en España

España es un país con cuatro lenguas cooficiales: castellano, catalán, euskera (vasco) y gallego. Esta pluralidad lingüística no es únicamente cultural; tiene implicaciones regulatorias directas que los sistemas de OCR deben contemplar.

LOPDGDD y precisión multilingüe. La Ley Orgánica de Protección de Datos y Garantía de los Derechos Digitales (LOPDGDD), que transpone el RGPD al ordenamiento jurídico español, exige que los datos personales extraídos de documentos sean exactos y estén actualizados. Cuando un documento contiene nombres propios, direcciones o referencias fiscales en catalán, euskera o gallego, un motor OCR que no maneje correctamente estos idiomas puede generar errores que constituyan una infracción del principio de exactitud. La AEPD (Agencia Española de Protección de Datos) ha sancionado a organizaciones por inexactitudes en el tratamiento automatizado de datos personales.

TicketBAI y el euskera en Bizkaia. El sistema TicketBAI, implantado en los territorios históricos de Bizkaia, Gipuzkoa y Araba, obliga a los contribuyentes a emitir y conservar tiques de venta con firma electrónica. Muchos de estos documentos incluyen campos en euskera, como Faktura-zenbakia (número de factura) o BEZ-oinarria (base imponible del IVA). Los sistemas de archivo y auditoría que emplean OCR para indexar estos tiques deben reconocer correctamente el texto en euskera para cumplir con las obligaciones de conservación ante la Hacienda Foral correspondiente.

eIDAS y documentos multilingües. Los certificados digitales emitidos por la FNMT (Fábrica Nacional de Moneda y Timbre) en el marco del reglamento eIDAS pueden acompañar documentos redactados en cualquiera de las lenguas cooficiales. La extracción de metadatos de firma mediante OCR requiere que el motor reconozca correctamente el texto independientemente del idioma del documento firmado.

Ventaja competitiva en el sector público. Las administraciones autonómicas —Generalitat de Catalunya, Eusko Jaurlaritza, Xunta de Galicia— generan volúmenes masivos de documentación en sus respectivas lenguas. Las empresas que ofrezcan soluciones de digitalización con OCR preciso en todos los idiomas cooficiales tendrán una ventaja clara en licitaciones públicas relacionadas con digitalización documental y gestión de expedientes electrónicos.

Ejemplo práctico

Escenario: Una asesoría fiscal de Bilbao necesita digitalizar e indexar automáticamente tiques TicketBAI emitidos por sus clientes del País Vasco. Los tiques están redactados en euskera e incluyen el Número de identificación fiscal (NIF/CIF) del emisor y el BEZ-oinarria (base imponible). El sistema debe extraer estos campos con precisión para alimentar el software de contabilidad y generar el rastro de auditoría exigido por la Hacienda Foral de Bizkaia.

La configuración recomendada con IronOCR es la siguiente:

using IronOcr;

// Instalar: IronOcr + IronOcr.Languages.Basque vía NuGet
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.BasqueBest; // Euskera, calidad máxima

using var input = new OcrInput();
input.LoadImage("ticketbai_bizkaia_2024_001.tiff");

OcrResult result = ocr.Read(input);

// Extraer campos clave del tique TicketBAI
Console.WriteLine("Texto extraído del tique TicketBAI:");
Console.WriteLine(result.Text);
// Salida esperada incluye: NIF/CIF, Faktura-zenbakia, BEZ-oinarria, IVA tipo aplicable
using IronOcr;

// Instalar: IronOcr + IronOcr.Languages.Basque vía NuGet
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.BasqueBest; // Euskera, calidad máxima

using var input = new OcrInput();
input.LoadImage("ticketbai_bizkaia_2024_001.tiff");

OcrResult result = ocr.Read(input);

// Extraer campos clave del tique TicketBAI
Console.WriteLine("Texto extraído del tique TicketBAI:");
Console.WriteLine(result.Text);
// Salida esperada incluye: NIF/CIF, Faktura-zenbakia, BEZ-oinarria, IVA tipo aplicable
Imports IronOcr

' Instalar: IronOcr + IronOcr.Languages.Basque vía NuGet
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.BasqueBest ' Euskera, calidad máxima

Using input As New OcrInput()
    input.LoadImage("ticketbai_bizkaia_2024_001.tiff")

    Dim result As OcrResult = ocr.Read(input)

    ' Extraer campos clave del tique TicketBAI
    Console.WriteLine("Texto extraído del tique TicketBAI:")
    Console.WriteLine(result.Text)
    ' Salida esperada incluye: NIF/CIF, Faktura-zenbakia, BEZ-oinarria, IVA tipo aplicable
End Using
$vbLabelText   $csharpLabel

Con el paquete IronOcr.Languages.Basque en modo Best, IronOCR reconoce con precisión los caracteres específicos del euskera (como tx, tz o ñ en contextos mixtos), garantizando que los datos extraídos sean fiables para el cumplimiento ante la AEPD y la Hacienda Foral.

Conclusión

La compatibilidad multilingüe de IronOCR con los 125 idiomas disponibles, incluyendo los cuatro idiomas cooficiales de España, convierte a esta biblioteca en una solución idónea para proyectos de digitalización en el mercado español. El cumplimiento de la LOPDGDD, la integración con flujos TicketBAI supervisados por la AEPD, y la compatibilidad con documentos firmados bajo eIDAS con certificados FNMT son casos de uso reales que IronOCR resuelve con una configuración mínima. Si su organización opera en entornos regulados en España, IronOCR proporciona la precisión multilingüe necesaria para garantizar la conformidad normativa en cada extracción de texto.

Explore el OCR en varios idiomas con IronOCR.

C# + VB.NET: Objetos de resultados Objetos de resultados
using IronOcr;
using IronSoftware.Drawing;

// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();

ocrTesseract.Configuration.ReadBarCodes = true;

using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);

OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
    // Page object
    int PageNumber = page.PageNumber;
    string PageText = page.Text;
    int PageWordCount = page.WordCount;
    // null if we dont set Ocr.Configuration.ReadBarCodes = true;
    OcrResult.Barcode[] Barcodes = page.Barcodes;
    AnyBitmap PageImage = page.ToBitmap(ocrInput);
    double PageWidth = page.Width;
    double PageHeight = page.Height;
    double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()

    foreach (var paragraph in page.Paragraphs)
    {
        // Pages -> Paragraphs
        int ParagraphNumber = paragraph.ParagraphNumber;
        string ParagraphText = paragraph.Text;
        AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
        int ParagraphX_location = paragraph.X;
        int ParagraphY_location = paragraph.Y;
        int ParagraphWidth = paragraph.Width;
        int ParagraphHeight = paragraph.Height;
        double ParagraphOcrAccuracy = paragraph.Confidence;
        OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
        foreach (var line in paragraph.Lines)
        {
            // Pages -> Paragraphs -> Lines
            int LineNumber = line.LineNumber;
            string LineText = line.Text;
            AnyBitmap LineImage = line.ToBitmap(ocrInput);
            int LineX_location = line.X;
            int LineY_location = line.Y;
            int LineWidth = line.Width;
            int LineHeight = line.Height;
            double LineOcrAccuracy = line.Confidence;
            double LineSkew = line.BaselineAngle;
            double LineOffset = line.BaselineOffset;
            foreach (var word in line.Words)
            {
                // Pages -> Paragraphs -> Lines -> Words
                int WordNumber = word.WordNumber;
                string WordText = word.Text;
                AnyBitmap WordImage = word.ToBitmap(ocrInput);
                int WordX_location = word.X;
                int WordY_location = word.Y;
                int WordWidth = word.Width;
                int WordHeight = word.Height;
                double WordOcrAccuracy = word.Confidence;
                foreach (var character in word.Characters)
                {
                    // Pages -> Paragraphs -> Lines -> Words -> Characters
                    int CharacterNumber = character.CharacterNumber;
                    string CharacterText = character.Text;
                    AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
                    int CharacterX_location = character.X;
                    int CharacterY_location = character.Y;
                    int CharacterWidth = character.Width;
                    int CharacterHeight = character.Height;
                    double CharacterOcrAccuracy = character.Confidence;
                    // Output alternative symbols choices and their probability.
                    // Very useful for spellchecking
                    OcrResult.Choice[] Choices = character.Choices;
                }
            }
        }
    }
}
Imports IronOcr
Imports IronSoftware.Drawing

' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()

ocrTesseract.Configuration.ReadBarCodes = True

Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)

Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
	' Page object
	Dim PageNumber As Integer = page.PageNumber
	Dim PageText As String = page.Text
	Dim PageWordCount As Integer = page.WordCount
	' null if we dont set Ocr.Configuration.ReadBarCodes = true;
	Dim Barcodes() As OcrResult.Barcode = page.Barcodes
	Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
	Dim PageWidth As Double = page.Width
	Dim PageHeight As Double = page.Height
	Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()

	For Each paragraph In page.Paragraphs
		' Pages -> Paragraphs
		Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
		Dim ParagraphText As String = paragraph.Text
		Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
		Dim ParagraphX_location As Integer = paragraph.X
		Dim ParagraphY_location As Integer = paragraph.Y
		Dim ParagraphWidth As Integer = paragraph.Width
		Dim ParagraphHeight As Integer = paragraph.Height
		Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
		Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
		For Each line In paragraph.Lines
			' Pages -> Paragraphs -> Lines
			Dim LineNumber As Integer = line.LineNumber
			Dim LineText As String = line.Text
			Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
			Dim LineX_location As Integer = line.X
			Dim LineY_location As Integer = line.Y
			Dim LineWidth As Integer = line.Width
			Dim LineHeight As Integer = line.Height
			Dim LineOcrAccuracy As Double = line.Confidence
			Dim LineSkew As Double = line.BaselineAngle
			Dim LineOffset As Double = line.BaselineOffset
			For Each word In line.Words
				' Pages -> Paragraphs -> Lines -> Words
				Dim WordNumber As Integer = word.WordNumber
				Dim WordText As String = word.Text
				Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
				Dim WordX_location As Integer = word.X
				Dim WordY_location As Integer = word.Y
				Dim WordWidth As Integer = word.Width
				Dim WordHeight As Integer = word.Height
				Dim WordOcrAccuracy As Double = word.Confidence
				For Each character In word.Characters
					' Pages -> Paragraphs -> Lines -> Words -> Characters
					Dim CharacterNumber As Integer = character.CharacterNumber
					Dim CharacterText As String = character.Text
					Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
					Dim CharacterX_location As Integer = character.X
					Dim CharacterY_location As Integer = character.Y
					Dim CharacterWidth As Integer = character.Width
					Dim CharacterHeight As Integer = character.Height
					Dim CharacterOcrAccuracy As Double = character.Confidence
					' Output alternative symbols choices and their probability.
					' Very useful for spellchecking
					Dim Choices() As OcrResult.Choice = character.Choices
				Next character
			Next word
		Next line
	Next paragraph
Next page
Install-Package IronOcr

IronOCR devuelve un objeto resultado avanzado para cada página que escanea usando Tesseract 5. Esto contiene datos de ubicación, imágenes, texto, confianza estadística, alternativas de símbolos, nombres de fuentes, tamaños de fuentes, decoración, pesos de fuentes y posición para cada:

  • Page
  • Paragraph
  • Línea de texto
  • Word
  • Caracter individual
  • Barcode

Descubra cómo leer los resultados de OCR con IronOCR

Human Support related to OCR en VB.NET

Apoyo de Nuestro Equipo

Para consultas de producto o licencias, el equipo Iron está listo para apoyarte. Envíanos tus preguntas y nos aseguraremos de que la persona correcta en Iron te las responda.

Contactar
Image To Text related to OCR en VB.NET

Imágenes OCR a Texto en Aplicaciones VB.NET

Una o múltiples páginas pueden ser enviadas a IronOCR. Recibirás todo el contenido de texto, códigos de barras y QR como resultado. Agrega funcionalidad OCR a aplicaciones de Consola, Web o Escritorio .NET. Las imágenes pueden ser enviadas como PDF, JPG, PNG, GIF, BMP y TIFF.

Hecho para VB.NET, .NET, C#

Ver un Tutorial
Fast And Polite Behavior related to OCR en VB.NET

OCR con Resultados Fasts y Precisos

El software de Reconocimiento Óptico de Caracteres ve contenido en múltiples estilos de fuentes para un OCR de texto preciso. Usa regiones de lectura rectangulares para mejorar la velocidad y la precisión. El multi-núcleo y el multi-hilo mejoran las velocidades de lectura de OCR.

Documentación de Referencia de API
Advanced Image related to OCR en VB.NET

Procesamiento de Imagen para Reconocimiento de Escaneo Imperfecto

Lo que realmente hace especial a IronOCR es su capacidad para leer documentos mal escaneados. Su biblioteca de preprocesamiento única reduce el ruido de fondo, la rotación, la distorsión y la alineación desalineada, así como la simplificación de colores y el aumento de la resolución y el contraste. Las configuraciones AutoOCR y Advanced OCR de Iron proporcionan a los desarrolladores las herramientas para lograr los mejores resultados posibles, cada vez.

Aprender Más
Support For Languages related to OCR en VB.NET

OCR Multilingüe

Paquetes de idiomas disponibles para: Árabe, Chino Simplificado, Chino Tradicional, Danés, Inglés, Finés, Francés, Alemán, Hebreo, Italiano, Japonés, Coreano, Portugués, Ruso, Español y Sueco. Otros idiomas pueden ser soportados a pedido.

Aprender Más
Output Content related to OCR en VB.NET

Datos Exportados Directamente a Tu Aplicación VB.NET

IronOCR exporta contenido como texto simple y datos de códigos de barras. Un modelo de objeto de datos estructurados alternativo permite a los desarrolladores recibir todo el contenido en el formato de encabezados, párrafos, líneas, palabras y caracteres estructurados para la entrada directa en aplicaciones .NET.

Aprender Más
Soporta:
  • El marco .NET 4.0 y superior admite C#, VB, F#
  • Microsoft Visual Studio. Icono IDE de desarrollo .NET
  • Soporte de Instalador NuGet para Visual Studio
  • Compatible con asistente de lenguaje C# JetBrains ReSharper
  • Compatible con la plataforma de alojamiento Microsoft Azure C# .NET

Licenciamiento y Precios

Licencias de desarrollo comunitario gratuitas. Licencias comerciales desde $749.

Licencias de Biblioteca para Proyecto C# + VB.NET

Proyecto

Licencia de Biblioteca C# + VB.NET para Desarrolladores

Desarrollador

Licenciamiento de Biblioteca C# + VB.NET para Organizaciones

Organización

Licenciamiento de Biblioteca C# + VB.NET para Agencias

Agencia

Licenciamiento de Biblioteca C# + VB.NET para SaaS

SaaS

Licenciamiento de Biblioteca C# + VB.NET para OEM

OEM

Ver Opciones Completas de Licencia  

Tutoriales de Reconocimiento Óptico de Caracteres VB.NET

Tutorial de Tesseract para C# | IronOCR

C# Tesseract OCR

Jim Baker es un ingeniero de desarrollo en Iron desarrollando para el producto OCR

Comparación de IronOCR y Tesseract for .NET

Jim ha sido una figura líder en el desarrollo de IronOCR. Jim diseña y construye algoritmos de procesamiento de imágenes y métodos de lectura para OCR.

Ver la Comparación de Jim de Tesseract
Cómo Leer Texto de una Imagen en .NET | Tutorial

C# OCR ASP.NET

Gemma Beckford - Ingeniera de Soluciones de Microsoft

Cómo Leer Texto de una Imagen en C# .NET

Aprenda cómo el equipo de Gemma usa IronOCR para leer texto de imágenes para su software de archivo. Gemma comparte sus propios ejemplos de código.

Ver el Tutorial de Imagen a Texto de Gemma
Los Programadores VB usan IronOcr para...

Sistemas de Contabilidad y Finanzas

  • # Recibos
  • # Informes
  • # Impresión de Facturas
Agregar Soporte de PDF a Sistemas de Contabilidad y Finanzas ASP.NET

Digitalización de Negocios

  • # Documentación
  • # Pedidos y Etiquetado
  • # Reemplazo de Papel
Casos de Uso de Digitalización de Negocios C#

Gestión de Contenidos Empresariales

  • # Producción de Contenidos
  • # Gestión de Documentos
  • # Distribución de Contenidos
Soporte de PDF CMS .NET

Aplicaciones de Datos e Informes

  • # Seguimiento del Rendimiento
  • # Mapeo de Tendencias
  • # Informes
Informes PDF en C#
Clientes Iron .NET

Miles de corporaciones, gobiernos, PYMEs y desarrolladores confían en los productos de Iron software.

El equipo de Iron tiene más de 10 años de experiencia en el mercado de componentes de software .NET.

GE
ANZ
Equinor
Foley
Vireq
Medcode
Nexudus
Marval

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame