Probar en producción sin marcas de agua.
Funciona donde lo necesites.
Obtén 30 días de producto completamente funcional.
Instálalo y ejecútalo en minutos.
Acceso completo a nuestro equipo de soporte técnico durante tu prueba del producto
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 de manera imperfecta. La clase IronTesseract proporciona la API más simple.
Prueba otros ejemplos de código para obtener un control detallado de tus operaciones OCR en C#.
IronOCR proporciona la compilación más avanzada de Tesseract conocida en cualquier lugar, en cualquier plataforma, con mayor velocidad, precisión y una API y DLL nativas.
Admite Tesseract 3, Tesseract 4 y Tesseract 5 for .NET Framework, Standard, Core, Xamarin y Mono.
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
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. La mayoría de los idiomas están disponibles en calidad Rápida, Estándar (recomendada) y Mejora. La opción de Mejor calidad puede ofrecer resultados más precisos, pero también será más lenta en tiempo de procesamiento.Compatibilidad con idiomas de IronOCR
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 de resultado avanzado para cada página que escanea usando Tesseract 5. Esto contiene datos de ubicación, imágenes, texto, confianza estadística, opciones de símbolos alternativos, nombres de fuentes, tamaños de fuente, decoración, pesos de fuente y posición para cada:
Page Paragraph Word Barcode
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.
ContactarUna 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.
Ver un Tutorial
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 APILo 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
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ásIronOCR 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
Licencias de desarrollo comunitario gratuitas. Licencias comerciales desde $749.
C# Tesseract OCR
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# OCR ASP.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
El equipo de Iron tiene más de 10 años de experiencia en el mercado de componentes de software .NET.