Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la 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
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.
IronTesseract
utilizar API intuitivasLeer
para realizar OCR en VB.NETTexto
propiedadusing 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.
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:
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 preguntaLa 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.
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.
Leer el tutorialEl 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.
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¿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.
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 TesseractA 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.
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 funcionesIncluso 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.
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ónLicencias de desarrollo comunitario gratuitas. Licencias comerciales desde $749.
C# Tesseract OCR
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ónC# OCR ASP.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 .NETEl equipo de Iron cuenta con más de 10 años de experiencia en el mercado de componentes de software .NET.