Introducción a los ejemplos de OCR .NET

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

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

Pruebe Otros ejemplos de código para obtener un control detallado de sus operaciones de OCR en C#.

IronOCR proporciona la versión más avanzada de Tesseract conocida en cualquier lugar y plataforma. Con mayor velocidad, precisión y una DLL y API nativas.

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

C# + VB.NET: Lenguas internacionales Lenguas internacionales
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

IronOCR admite 125 idiomas internacionales.

Aparte del inglés, que se instala por defecto, puede añadir paquetes de idiomas a su proyecto .NET a través de NuGet o descargándolos de nuestra página webPágina de idiomas.

La mayoría de las lenguas están disponibles en Rápido, Estándar(recomendado) y la mejor calidad. El mejor puede ser más preciso, pero también es más lento.

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

IronOCR devuelve un objeto de resultado avanzado por cada página que escanea utilizando Tesseract 5. Contiene datos de localización, imágenes, texto, confianza estadística, opciones de símbolos alternativos, nombres de fuentes, decoración de tamaños de fuentes, pesos de fuentes y posición para cada uno:

  • Página
  • Párrafo
  • Línea de texto
  • Palabra
  • Carácter individual
  • y código de barras

Human Support related to OCR en .NET Core

Apoyo humano directo de nuestro equipo de desarrollo

Ya se trate de consultas sobre productos, integración o licencias, el equipo de desarrollo de productos de Iron está a su disposición para responder a todas sus preguntas. Póngase en contacto e inicie un diálogo con Iron para sacar el máximo partido de nuestra biblioteca en su proyecto.

Formule una pregunta
Image To Text related to OCR en .NET Core

Motor de lectura para el reconocimiento óptico de caracteres (OCR) - Imagen a texto en OCR .NET SDK

La biblioteca IronOCR (Reconocimiento Óptico de Caracteres) permite a los desarrolladores obtener resultados rápidos y eficientes al convertir imágenes a texto. IronOCR funciona con .NET, VB .NET y C#. Nuestras principales aplicaciones .NET para frameworks .NET están específicamente diseñadas para ti, el desarrollador, para apoyarte en lograr el rendimiento óptimo para tus proyectos.

OCR recibe y reconoce archivos de texto, códigos de barras, contenido QR y más. Sin embargo, IronOCR también proporciona numerosos métodos que te permiten agregar lectura OCR y texto de imágenes en proyectos web, de escritorio de Windows o de consola .NET con soporte para formatos de imagen y archivos prácticamente ilimitados, como JPG, PNG, GIF, TIFF, BMP, JPEG o PDF.

Bajo el Capó - IronOCR Proporciona Resultados Perfectos

Aunque los resultados de reconocimiento de texto plano, caracteres, líneas y párrafos de la salida de imagen pueden no parecer sencillos, descubrirás que bajo el capó de IronOCR los resultados son de hecho más fáciles de lo que podrías haber pensado inicialmente. IronOCR escanea la imagen para su alineación, emplea su eliminación de ruido y filtros para verificar calidad y resolución. Observa sus propiedades, optimiza el motor OCR y utiliza una red de inteligencia artificial entrenada para luego reconocer texto (de imágenes) tan bien como cualquier humano.

El OCR no es un proceso simple ni siquiera para una computadora. Sin embargo, IronOCR hace que el proceso total de crear documentos buscables sea más rápido y sencillo, con un 100% de precisión y líneas de código mínimas.

Funciona con .NET, VB.NET, C#

Leer el tutorial
Support For Languages related to OCR en .NET Core

Funciona con varios idiomas internacionales

El software no está limitado por fronteras geográficas: las empresas funcionan a través de fronteras y dependen de múltiples idiomas para lograr sus resultados. De manera similar, una herramienta de reconocimiento óptico de caracteres (OCR) que solo realiza el reconocimiento de documentos en un solo idioma es un gran NO en todos los aspectos.

¿Qué significa el soporte OCR multilingüe para ti?

Con una biblioteca OCR multilingüe que proporciona múltiples funcionalidades de OCR, te beneficias al crear un documento PDF buscable a partir de un PDF escaneado o una imagen escaneada en varios idiomas (¡desde el francés hasta el chino!). Tu tiempo y esfuerzo se optimizan con un documento PDF dinámico y con capacidad de búsqueda de palabras que tú, tus clientes o tu organización pueden usar y reutilizar sin límites.

Con un fuerte enfoque en ti, tu negocio y tus necesidades OCR, ya sea incorporado o a solicitud, la biblioteca IronOCR tiene una amplia variedad de idiomas compatibles. ¡Tu próximo proyecto .NET puede estar libre de preocupaciones por compatibilidad de idiomas!

Ya sea árabe, español, francés, alemán, hebreo, italiano, japonés, chino simplificado, chino tradicional (mandarín), danés, inglés, finlandés, portugués, ruso, español o sueco, simplemente nombra los idiomas y nosotros te los proporcionamos. Puedes descargar tus paquetes de idiomas preferidos o contactar a nuestro soporte 24/7 para más idiomas.

El primer paso es usar nuestro instalador de paquetes NuGet para Windows Visual Studio.

Descargar paquetes de idiomas
Advanced Image related to OCR en .NET Core

Procesamiento de imágenes para la lectura precisa de escaneados imperfectos

¿En qué se diferencia IronOCR de sus competidores? Además de permitirle añadir fácilmente funcionalidades de OCR, extraer texto y escanear imágenes rotadas, ¡también tiene la capacidad de realizar OCR a partir de escaneos imperfectos! En contraste, muchos de los diversos productos listos para usar en el mercado hoy en día son a menudo rígidos e inexactos, destinados a fallar en aplicaciones individuales y corporativas del mundo real, ya que la mayoría de ellos trabajan con texto impreso en máquina, de alta resolución y perfectamente ajustado.

IronOCR extiende las capacidades de Google Tesseract con su poderoso IronTesseract DLL, una biblioteca OCR nativa de C# con mayor estabilidad y precisión que la biblioteca gratuita de Tesseract.

¡Proceda sin preocupaciones - IronOCR lo tiene cubierto!

Con la mejor herramienta en sus manos, incluso si tiene una imagen escaneada menos que perfecta o una imagen almacenada en su carpeta de almacenamiento, la biblioteca de procesamiento de imágenes de IronOCR realiza conversiones que eliminan el ruido, rota, reduce la distorsión y la alineación sesgada, y mejora la resolución y el contraste. Las avanzadas configuraciones de Reconocimiento Óptico de Caracteres (OCR) le brindan a usted, los programadores, las herramientas y el código para generar los mejores resultados de búsqueda posibles, una y otra vez.

Busque las palabras que necesita y nunca se decepcione con los resultados precisos al 99.8-100% y el soporte ilimitado para documentos PDF, archivos TIFF multiFrame, JPEG y JPEG2000, GIF, PNG, BMP, WBMP, System.Drawing.Image, System.Drawing.Bitmap, System.IO.Streams de imágenes, datos de imagen binaria (byte[]), ¡y todo lo demás!

Una alternativa a Tesseract
Fast And Polite Behavior related to OCR en .NET Core

Rápido y preciso: de PDF escaneados a imágenes giradas escaneadas

A diferencia de otras aplicaciones .NET en el marco .NET, descubrirás que el avanzado Reconocimiento Óptico de Caracteres, dentro de la consola del gestor de paquetes de IronOCR y la consola de texto reconocido, brinda a tus usuarios la capacidad de leer múltiples fuentes de palabras (desde Times New Roman hasta cualquier cosa elegante o supuestamente difícil de entender), pesos y estilos para una lectura precisa de texto de toda una imagen o imágenes escaneadas. Nuestra capacidad para seleccionar ciertas áreas de una imagen ayuda a mejorar la velocidad y la precisión. La multitarea desde unas pocas líneas hasta unos pocos párrafos acelera el motor de OCR y permite la lectura de múltiples documentos en máquinas de múltiples núcleos.

Respaldado con Rendimiento de Principio a Fin

Nuestras afirmaciones de velocidad y precisión no se limitan al proceso de reconocimiento de caracteres. Más bien, las mejoras comienzan justo desde el punto de instalación ya que el motor .NET de OCR de IronOCR es una biblioteca de software .NET fácil de instalar, completa y bien documentada. Hay una única instalación del gestor de paquetes NuGet para Visual Studio, y compatibilidad con multitarea en aplicaciones MVC, WebApp, Desktop, Console y Server.

Puedes lograr una precisión de OCR del 99.8-100% sin servicios web externos, tarifas continuas, ni tener que enviar documentos confidenciales por internet. Sin la engorrosa codificación de C++, IronOCR es la elección clara cuando necesitas soporte OCR completo para múltiples caracteres, palabras, líneas, párrafos, texto y documentos.

Ofrecemos las mejores opciones para los desarrolladores que buscan perfeccionar su codificación, ya que IronOCR funciona perfectamente desde el inicio sin necesidad de ajustes de rendimiento ni de modificar considerablemente las imágenes de entrada. La última versión de IronOCR funciona increíblemente rápido, hasta diez veces más rápido, y comete más del 250% menos de errores que las versiones anteriores. Actualizamos nuestras propias versiones para apoyar tus objetivos proporcionando la plataforma perfecta para OCR.

Ver la lista completa de funciones
Output Content related to OCR en .NET Core

Exporte los datos de los resultados del OCR directamente a su aplicación

Incluso al usar dispositivos móviles, nuestra biblioteca OCR perfecta para .NET permite a los desarrolladores codificar 'sin preocupaciones', ya que IronOCR admite la exportación de contenido como un conjunto simple de texto directo y complejo, texto codificado por máquina, datos de código de barras o datos de modelo de objeto estructurado. Puedes dividir los párrafos de contenido, líneas, palabras, caracteres y resultados de cadenas de imágenes para uso directo dentro de tus aplicaciones .NET.

Exporta cómodamente a tu aplicación y formatos de destino — XHTML, Documento Buscable, HOCR y HTML

Desde el código fuente hasta el resultado final — los datos resultantes serían inútiles si no pudieras exportarlos a tu aplicación. IronOCR entiende esto y te permite exportar el resultado del OCR a XHTML para poder trabajar con un formato sostenible en un rango más amplio de aplicaciones e integrarse en sitios web complejos, ¡sin mencionar tiempos de carga más rápidos!

Sin embargo, el soporte no termina ahí. La capacidad de exportar OCR a documentos PDF buscables te facilita a ti, a tus clientes y organizaciones almacenar y recuperar documentos PDF cuando sea necesario. Esto es especialmente beneficioso cuando tienes un contrato de 30 páginas que puedes buscar en tu base de datos con unas pocas palabras clave, y también te permite presentar tu empresa como compatible, dado que está comprobado que los documentos PDF buscables son beneficiosos para personas con discapacidad visual.

Además de lo anterior, puedes exportar tus resultados al formato OCR que representa tu salida OCR, información de diseño y estilo, e incrusta la información relacionada en HTML estándar.

Más información
Soportes:
  • .NET Framework 4.0 y superior compatible con C#, VB, F#
  • Microsoft Visual Studio. Icono IDE de desarrollo .NET
  • Soporte del instalador NuGet para Visual Studio
  • Asistente de lenguaje JetBrains ReSharper C# compatible
  • Compatible con la plataforma de alojamiento Microsoft Azure C# .NET

Licencias y precios

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

Proyecto C# + VB.NET Licencia de biblioteca

Proyecto

Desarrollador C# + VB.NET Licencia de biblioteca

Desarrollador

Organización C# + VB.NET Library Licencia

Organización

Agencia de licencias de bibliotecas C# + VB.NET

Agencia

SaaS C# + VB.NET Library Licencias

SaaS

Licencia de biblioteca OEM C# + VB.NET

OEM

Ver todas las opciones de licencia  

Tutoriales de OCR de nuestra comunidad .NET

.NET Tesseract OCR | IronOCR

C# Tesseract OCR

Jim Baker es ingeniero de desarrollo de Iron para el producto OCR

Comparación entre IronOCR y Tesseract en .NET

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

Ver comparación
Texto a Imagen en .NET | Tutorial

C# OCR ASP.NET

Gemma Beckford - Ingeniera de soluciones Microsoft

Texto a partir de imágenes para .NET

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

Tutorial de imagen a texto .NET
Miles de desarrolladores utilizan IronOcr para...

Sistemas contables y financieros

  • # Recibos
  • # Informes
  • # Impresión de facturas
Añada compatibilidad con PDF a los sistemas de contabilidad y finanzas ASP.NET

Digitalización empresarial

  • # Documentación
  • # Pedidos & Etiquetado
  • # Sustitución del papel
Casos prácticos de digitalización empresarial en C#

Gestión de contenidos empresariales

  • # Producción de contenidos
  • # Gestión de documentos
  • # Distribución de contenidos
.NET CMS Soporte PDF

Aplicaciones de datos e informes

  • # Seguimiento del rendimiento
  • # Mapa de tendencias
  • # Informes
Informes PDF en C#
Desarrolladores de componentes .NET para empresas de Iron Software

Miles de empresas, gobiernos, PYME y desarrolladores confían en los productos de software de Iron.

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

Marval
Nexudus
Medcode
Vireq
Equinor
ANZ
Foley
GE