Primeros pasos con OCR para Azure

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 web Pá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);
    int PageWidth = page.Width;
    int 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 Integer = page.Width
	Dim PageHeight As Integer = 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

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

Motor de lectura OCR para Azure en .NET

Su solución OCR de Microsoft Azure para procesar imágenes imperfectas

Ya se trate de páginas de pasaporte, facturas, extractos bancarios, correo, tarjetas de visita o recibos, el reconocimiento óptico de caracteres (OCR) es un campo de investigación basado en el reconocimiento de patrones, la visión por ordenador y el aprendizaje automático. Las empresas utilizan el OCR en todos los departamentos para extraer texto en sistemas de contabilidad y finanzas, digitalización de empresas, gestión de contenidos empresariales y sistemas de elaboración de informes de datos.

Además de construir otros historias de éxito. IronOCR añade valor a Google Tesseract y Microsoft 2021 Azure Cognitive Services con IronOCR, una biblioteca nativa de C# OCR.

Si está buscando convertir imágenes del mundo real con un 99 por ciento de precisión - entonces siga leyendo, para ver cómo IronOCR le permite construir una aplicación de Reconocimiento Óptico de Caracteres eficiente, precisa, escalable y casi humana.

IronOCR es la diferencia entre el reconocimiento óptico de caracteres competitivo y el líder del mercado

El reconocimiento óptico de caracteres (OCR) se considera un fenómeno resuelto debido a la inmensa confianza que las distintas APIs reclaman para su protección. Sin embargo, los distintos productos suelen ser rígidos e imprecisos que fallan en las aplicaciones del mundo real. Del mismo modo, Tesseract OCR trabaja con texto impreso a máquina, de alta resolución y perfecto.

¿Te parece bien?

Sólo que el mundo real no siempre tiene texto perfectamente impreso y escrito a mano con alta resolución. En lugar de eso, IronOCR se encarga de las imperfecciones digitales, incluyendo la extracción de texto manuscrito de archivos de imágenes. Garantizamos un 99,8 - 100 por ciento de precisión, documento de búsqueda con soporte multiplataforma que incluye Windows, Linux, macOS, Microsoft Azure, AWS, y Docker - hay una razón C# desarrolladores eligen IronOCR sobre Tesseract OCR (básico): se trata de añadir valor.

¡Equípese con lo mejor!

Además de todo lo anterior, IronOCR le permite procesar documentos de imagen con rapidez. Si eso no es todo, las características de la API de IronOCR también incluyen lo siguiente:

  • Extraiga texto impreso mediante OCR en casi cualquier archivo, imagen o PDF con una precisión excepcional y a la velocidad del rayo
  • Extracción de texto PDF e imágenes en documentos con capacidad de búsqueda perfecta y representación visual y espacial
  • No requiere exes ni código C
  • Soporte completo de OCR de PDF
  • Compatible con aplicaciones MVC, WebApp, de escritorio, de consola y de servidor
  • Compatibilidad completa con .NET Core, Standard y FrameWork
  • Leer usando C# & VB .NET
  • Exportar OCR a XHTML
  • Compatible con multihilo
  • Compatible con 125 idiomas internacionales: paquetes de idiomas listos para usar y personalizados.
  • Extrae imágenes, coordenadas, estadísticas, fuentes y mucho más
  • Redistribuye Tesseract OCR dentro de aplicaciones comerciales y propietarias
  • Se ejecuta localmente, sin necesidad de SaaS
  • Excelente alternativa al servicio OCR de Microsoft Cognitive Services

Funciones prácticamente ilimitadas - IronOCR es "la" herramienta de reconocimiento óptico de caracteres OCR para el espacio de trabajo digital

Transición de la instalación de .dlls o exes nativos a una única fuente de verdad: desarrolle utilizando una única biblioteca de componentes .NET nativos con un simple C# APIs compatibles:

  • .NET Framework 4.5 y superior
  • .NET Standard 2.0 y aobve (incluidas 3.x y .NET 5 Beta)
  • .NET Core 2.0 y superior (incluidas 3.x y .NET 5 Beta)
  • .NET 5
  • Xamarin para macOS

El arte de la API IronOCR no termina aquí; puede seguir explorando nuestra ventaja técnica características further. We reduce the business complexities, one step at a time, by developing reliable solutions to streamline document processing applications and maximizing business revenues by offering industry-leading características have embedded:

  • Funciones de la API de OCR .NET puras
  • Operación OCR local, sin nube significa más seguridad
  • Crear recursos de escaneado optimizados de baja calidad, ruidosos y distorsionados
  • Lee PDF y TIFF de varias páginas
  • Puede guardar cualquier muestra de escaneado OCR en un documento PDF o XHTML que los usuarios puedan buscar
  • Texto sin formato, datos de código de barras y una clase de resultado de OCR que contenga párrafos, líneas, palabras y caracteres.

IronOCR API Edge: ¿cumplir la visión informática?

Nuestro proceso de reconocimiento óptico de caracteres comienza con el preprocesamiento automatizado de la imagen, para mejorar el archivo de imagen que mejora la tasa de respuesta de extracción. IronOCR añade valor a su trabajo, ya que permite a los usuarios extraer el archivo de imagen base de ejemplo en la versión óptima de sí mismo. IronOCR cubre todas las bases:

Mejora de la resolución

Como el servicio IronOCR funciona óptimamente con archivos de imagen de 300DPI (puntos por pulgada), cualquier imagen que esté significativamente fuera de 200-300 DPI se remuestrea para ajustarse al rango objetivo.

Esto se traduce en un muestreo descendente de imágenes de 600 PPP a 300 PPP o en un muestreo ascendente de imágenes de 100 PPP a 200 PPP con un 99% de confianza.

Binarización

Como los servicios cognitivos de IronOCR están diseñados para funcionar con imágenes monocromáticas, cualquier imagen en color o en escala de grises se convierte a monocromática utilizando un algoritmo de binarización adaptativo.

El algoritmo compara las densidades de píxeles dentro de un área que determina el umbral que debe utilizarse para convertir los píxeles en monocromáticos.

Rotación y desrotación automáticas

IronOCR busca líneas de texto y patrones de caracteres para desenfocar y girar automáticamente los recursos de imagen de entrada a la orientación deseada.

Eliminación adaptativa del ruido

Con IronOCR, los archivos de imagen se analizan automáticamente para detectar la presencia y la cantidad de ruido. El ruido son básicamente las "motas" que se encuentran en las imágenes escaneadas. Nuestro algoritmo adaptativo elimina el ruido en función del tamaño de las partículas de ruido.

Una vez preprocesado el archivo de imagen de muestra, IronOCR divide el archivo de imagen de entrada en diferentes zonas de procesamiento.

Zonificación

Otra fase de preparación previa consiste en dividir la imagen de referencia en distintas zonas lógicas. IronOCR localiza primero el texto y las imágenes dentro de la imagen con ayuda de espacios en blanco y patrones; la región de texto se separa de las imágenes.

A continuación, se divide en zonas: párrafos, columnas y bloques de texto. Las imágenes y los píxeles no textuales restantes se identifican para omitirlos durante el reconocimiento del texto e incluirlos en la salida inteligente. A continuación, IronOCR marca las zonas de texto como tablas con ayuda de cuadrículas y bloques de texto.

Capacidad de reconocimiento de texto

Realiza múltiples pasos interconectados que convierten las manchas de píxeles en hilos de texto de una sola línea que los usuarios pueden buscar. Esto incluye la segmentación de caracteres, la clasificación adaptativa, las referencias a diccionarios y otros procesos relacionados que contribuyen a obtener un texto extraído óptimo.

Parámetros múltiples de eficacia probada

Con el servicio API de IronOCR, hemos probado nuestra herramienta a través de múltiples ejemplos de archivos de datos en varios idiomas que incluyen niveles de palabras, precisión de símbolos y retención de diseño en formatos de Microsoft Office. Aunque algunos parámetros se comprueban automáticamente, otros incluyen comprobaciones visuales.

Conéctese con IronOCR: la solución ideal de servicios cognitivos de OCR

IronOCR le permite añadir funciones de OCR multiplataforma con múltiples formatos de entrada a una cadena de texto sin formato en la que puede realizar búsquedas. Para potenciar su productividad con IronOCR, comience con nuestra herramienta gratuita tutorial que le guiará en el uso de IronOCR. Descargue nuestro instalador de paquetes NuGet hoy mismo y explore con una clave de prueba gratuita o conéctese con el soporte personal 24/7. Escale sus necesidades con nuestra vida útil licenciasindependientemente del tamaño de su equipo.

Funciona con .NET, VB.NET, C#

Ver licencias
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

Gratis licencias de desarrollo comunitario. Licencias comerciales a partir de 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 Alternativa | 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.

GE
Marval
Vireq
Foley
ANZ
Equinor
Nexudus
Medcode