OCR en español en C# y .NET
Otras versiones de este documento:
IronOCR es un componente de software C# que permite a los codificadores .NET leer texto de imágenes y documentos PDF en 126 idiomas, incluido el español.
Es una bifurcación avanzada de Tesseract, construida exclusivamente para los desarrolladores de .NET y regularmente supera a otros motores Tesseract tanto en velocidad como en precisión.
Contenidos de IronOcr Idiomas Español
Este paquete contiene 99 idiomas de OCR para .NET:
- Español
- EspañolMejor
- Español rápido
- EspañolAntiguo
- EspañolOldMejor
- EspañolAntiguo Rápido
Descargar
Paquete de idioma español [español]
* Download as Código Postal
* Install with https://www.nuget.org/packages/IronOcr.Languages.Spanish/
Instalación
Lo primero que tenemos que hacer es instalar nuestro paquete OCR en español en su proyecto .NET.
PM> Install-Package IronOCR.Languages.Spanish
Ejemplo de código
Este ejemplo de código C# lee texto en español de un documento de imagen o PDF.
// PM> Install-Package IronOcr.Languages.Spanish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
// Load an image or PDF for OCR processing.
using (var Input = new OcrInput(@"images\Spanish.png"))
{
// Read the text from the input image or PDF.
var Result = Ocr.Read(Input);
// Retrieve the extracted text.
var AllText = Result.Text;
// Print the extracted text to console.
Console.WriteLine(AllText);
}
// PM> Install-Package IronOcr.Languages.Spanish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
// Load an image or PDF for OCR processing.
using (var Input = new OcrInput(@"images\Spanish.png"))
{
// Read the text from the input image or PDF.
var Result = Ocr.Read(Input);
// Retrieve the extracted text.
var AllText = Result.Text;
// Print the extracted text to console.
Console.WriteLine(AllText);
}
' PM> Install-Package IronOcr.Languages.Spanish
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
' Load an image or PDF for OCR processing.
Using Input = New OcrInput("images\Spanish.png")
' Read the text from the input image or PDF.
Dim Result = Ocr.Read(Input)
' Retrieve the extracted text.
Dim AllText = Result.Text
' Print the extracted text to console.
Console.WriteLine(AllText)
End Using
¿Por qué elegir IronOCR?
IronOCR es una biblioteca de software .NET fácil de instalar, completa y bien documentada.
Elija IronOCR para lograr una precisión de OCR superior al 99,8% sin utilizar ningún servicio web externo, tarifas continuas o enviar documentos confidenciales por Internet.
Por qué los desarrolladores de C# eligen IronOCR en lugar de Vanilla Tesseract:
- Instalar como una sola DLL o NuGet
- Incluye para motores Tesseract 5, 4 y 3 fuera de la caja.
- La precisión 99,8% supera significativamente al Tesseract normal.
- Velocidad ultrarrápida y multihilo
- Compatible con MVC, WebApp, escritorio, consola y aplicación de servidor
- Sin código Exes o C ++ para trabajar
- Soporte completo de PDF OCR
- Para realizar OCR en casi cualquier archivo de imagen o PDF
- Soporte completo de .NET Core, Standard y FrameWork
- Implementar en Windows, Mac, Linux, Azure, Docker, Lambda, AWS
- Leer códigos de barras y códigos QR
- Exportar OCR como XHTML
- Exportar OCR a documentos PDF con capacidad de búsqueda
- Soporte de subprocesos múltiples
- 126 idiomas internacionales, todos administrados a través de archivos NuGet u OcrData
- Extrae imágenes, coordenadas, estadísticas y fuentes. No solo mensajes de texto.
- Se puede utilizar para redistribuir Tesseract OCR dentro de aplicaciones comerciales y patentadas.
IronOCR brilla cuando se trabaja con imágenes del mundo real y documentos imperfectos como fotografías o escaneos de baja resolución que pueden tener imperfecciones o ruido digital.
Otras bibliotecas de OCR gratuitas para la plataforma .NET, como otras API y servicios web de .net tesseract, no funcionan tan bien en estos casos de uso del mundo real.
OCR con Tesseract 5: comience a codificar en C#
El siguiente ejemplo de código muestra lo fácil que es leer texto de una imagen usando C# o VB .NET.
Un trazador de líneas
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Hola mundo configurable
// PM> Install-Package IronOCR.Languages.Spanish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// Puedes agregar cualquier cantidad de imágenes adicionales.
var Result = Ocr.Read(Input);
// Print the result to the console.
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Spanish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// Puedes agregar cualquier cantidad de imágenes adicionales.
var Result = Ocr.Read(Input);
// Print the result to the console.
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Spanish
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg")
' Puedes agregar cualquier cantidad de imágenes adicionales.
Dim Result = Ocr.Read(Input)
' Print the result to the console.
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
El mismo enfoque se puede utilizar de manera similar para extraer texto de cualquier documento PDF.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var input = new OcrInput())
{
// Add PDF input, with password if applicable.
input.AddPdf("example.pdf", "password");
// También podemos seleccionar números de página PDF específicos para OCR
var Result = Ocr.Read(input);
// Print the extracted text to console.
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 página por cada página del PDF
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var input = new OcrInput())
{
// Add PDF input, with password if applicable.
input.AddPdf("example.pdf", "password");
// También podemos seleccionar números de página PDF específicos para OCR
var Result = Ocr.Read(input);
// Print the extracted text to console.
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 página por cada página del PDF
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using input = New OcrInput()
' Add PDF input, with password if applicable.
input.AddPdf("example.pdf", "password")
' También podemos seleccionar números de página PDF específicos para OCR
Dim Result = Ocr.Read(input)
' Print the extracted text to console.
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 página por cada página del PDF
End Using
OCR para TIFF de varias páginas
Lectura OCR formato de archivo TIFF que incluye documentos de varias páginas. TIFF también se puede convertir directamente en un archivo PDF con texto de búsqueda.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Add multi-frame TIFF image
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
// Print the result text from the OCR.
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Add multi-frame TIFF image
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
// Print the result text from the OCR.
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
' Add multi-frame TIFF image
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
' Print the result text from the OCR.
Console.WriteLine(Result.Text)
End Using
Códigos de barras y QR
Una característica única de IronOCR es que puede leer códigos de barras y códigos QR de documentos mientras busca texto. Las instancias de la clase OcrResult.OcrBarcode
brindan al desarrollador información detallada sobre cada código de barras escaneado.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
// Iterate through each barcode found in the result.
foreach (var Barcode in Result.Barcodes)
{
// Print the string value of each barcode.
Console.WriteLine(Barcode.Value);
// Additional properties like type and location are also exposed.
}
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
// Iterate through each barcode found in the result.
foreach (var Barcode in Result.Barcodes)
{
// Print the string value of each barcode.
Console.WriteLine(Barcode.Value);
// Additional properties like type and location are also exposed.
}
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
' Iterate through each barcode found in the result.
For Each Barcode In Result.Barcodes
' Print the string value of each barcode.
Console.WriteLine(Barcode.Value)
' Additional properties like type and location are also exposed.
Next Barcode
End Using
OCR en áreas específicas de imágenes
Todos los métodos de lectura y escaneo de IronOCR brindan la capacidad de especificar exactamente de qué parte de una página o páginas deseamos leer el texto. Esto es muy útil cuando buscamos formularios estandarizados y puede ahorrar una gran cantidad de tiempo y mejorar la eficiencia.
Para usar regiones de recorte, necesitaremos agregar una referencia de sistema a System.Drawing
para que podamos usar el objeto System.Drawing.Rectangle
.
using IronOcr;
using System.Drawing; // Ensure System.Drawing is referenced.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Define a specific area of the image to read text from.
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Las dimensiones están en px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
// Print the extracted text to the console.
Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing; // Ensure System.Drawing is referenced.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Define a specific area of the image to read text from.
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Las dimensiones están en px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
// Print the extracted text to the console.
Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing ' Ensure System.Drawing is referenced.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
' Define a specific area of the image to read text from.
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Las dimensiones están en px
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
' Print the extracted text to the console.
Console.WriteLine(Result.Text)
End Using
OCR para escaneos de baja calidad
La clase IronOCR OcrInput
puede corregir escaneos que Tesseract normal no puede leer.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // corrige el ruido digital y el escaneo deficiente
Input.Deskew(); // corrige la rotación y la perspectiva
var Result = Ocr.Read(Input);
// Print the extracted text to console.
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // corrige el ruido digital y el escaneo deficiente
Input.Deskew(); // corrige la rotación y la perspectiva
var Result = Ocr.Read(Input);
// Print the extracted text to console.
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' corrige el ruido digital y el escaneo deficiente
Input.Deskew() ' corrige la rotación y la perspectiva
Dim Result = Ocr.Read(Input)
' Print the extracted text to console.
Console.WriteLine(Result.Text)
End Using
Exportar resultados de OCR como PDF con capacidad de búsqueda
Imagen a PDF con cadenas de texto copiables. Puede ser indexado por motores de búsqueda y bases de datos.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Set the title for the PDF output.
Input.Title = "Quarterly Report";
// Add images to the OCR input.
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
var Result = Ocr.Read(Input);
// Save the OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Set the title for the PDF output.
Input.Title = "Quarterly Report";
// Add images to the OCR input.
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
var Result = Ocr.Read(Input);
// Save the OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
' Set the title for the PDF output.
Input.Title = "Quarterly Report"
' Add images to the OCR input.
Input.AddImage("image1.jpeg")
Input.AddImage("image2.png")
Input.AddImage("image3.gif")
Dim Result = Ocr.Read(Input)
' Save the OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
Conversión de TIFF a PDF con capacidad de búsqueda
Convierta un documento TIFF (o cualquier grupo de archivos de imagen) directamente a un PDF con capacidad de búsqueda que se puede indexar mediante intranet, sitio web y motores de búsqueda de Google.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Add multi-frame TIFF to the OCR input.
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input);
// Save OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Add multi-frame TIFF to the OCR input.
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input);
// Save OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
' Add multi-frame TIFF to the OCR input.
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input)
' Save OCR results as a searchable PDF.
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
Exportar resultados de OCR como HTML
Conversión de imagen OCR a XHTML.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Set the title for the XHTML output.
Input.Title = "Html Title";
// Add image for OCR processing.
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
// Save the OCR results as an HTML file.
Result.SaveAsHocrFile("results.html");
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput())
{
// Set the title for the XHTML output.
Input.Title = "Html Title";
// Add image for OCR processing.
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
// Save the OCR results as an HTML file.
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
' Set the title for the XHTML output.
Input.Title = "Html Title"
' Add image for OCR processing.
Input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(Input)
' Save the OCR results as an HTML file.
Result.SaveAsHocrFile("results.html")
End Using
Filtros de mejora de imagen OCR
IronOCR proporciona filtros únicos para objetos OcrInput
para mejorar el rendimiento de OCR.
Ejemplo de código de mejora de imagen
Hace que las imágenes de entrada OCR sean de mayor calidad para producir resultados de OCR mejores y más rápidos.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // corrige el ruido digital y el escaneo deficiente
Input.Deskew(); // corrige la rotación y la perspectiva
var Result = Ocr.Read(Input);
// Print the OCR result to the console.
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // corrige el ruido digital y el escaneo deficiente
Input.Deskew(); // corrige la rotación y la perspectiva
var Result = Ocr.Read(Input);
// Print the OCR result to the console.
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' corrige el ruido digital y el escaneo deficiente
Input.Deskew() ' corrige la rotación y la perspectiva
Dim Result = Ocr.Read(Input)
' Print the OCR result to the console.
Console.WriteLine(Result.Text)
End Using
Lista de filtros de imagen OCR
Los filtros de entrada para mejorar el rendimiento de OCR que están integrados en IronOCR incluyen:
- OcrInput.Rotate (grados dobles): gira las imágenes varios grados en el sentido de las agujas del reloj. En sentido antihorario, utilice números negativos.
- OcrInput.Binarize (): este filtro de imagen convierte cada píxel en blanco o negro sin término medio. Puede mejorar el rendimiento de OCR en casos de muy bajo contraste de texto con el fondo.
- OcrInput.ToGrayScale (): este filtro de imagen convierte cada píxel en una sombra de escala de grises. Es poco probable que mejore la precisión del OCR, pero puede mejorar la velocidad
- OcrInput.Contrast (): aumenta el contraste automáticamente. Este filtro a menudo mejora la velocidad y precisión de OCR en escaneos de bajo contraste.
- OcrInput.DeNoise (): elimina el ruido digital. Este filtro solo debe usarse donde se espere ruido.
- OcrInput.Invert (): invierte todos los colores. Por ejemplo, el blanco se vuelve negro: el negro se vuelve blanco.
- OcrInput.Dilate () - Morfología avanzada. La dilatación agrega píxeles a los límites de los objetos en una imagen. Frente a erosionar
- OcrInput.Erode () - Morfología avanzada. La erosión elimina los píxeles en los límites de los objetos Opuesto a Dilate
- OcrInput.Deskew (): gira una imagen para que esté en la posición correcta hacia arriba y ortogonal. Esto es muy útil para OCR porque la tolerancia de Tesseract para escaneos sesgados puede ser tan baja como 5 grados.
- OcrInput.DeepCleanBackgroundNoise () - Eliminación de ruido de fondo intenso. Utilice este filtro solo en caso de que se conozca un ruido de fondo extremo en los documentos, ya que este filtro también correrá el riesgo de reducir la precisión del OCR de los documentos limpios y es muy costoso para la CPU.
- OcrInput.EnhanceResolution: mejora la resolución de imágenes de baja calidad. Este filtro no se necesita a menudo porque OcrInput.MinimumDPI y OcrInput.TargetDPI capturarán y resolverán automáticamente las entradas de baja resolución.
CleanBackgroundNoise. Este es un escenario que requiere algo de tiempo; sin embargo, permite que la biblioteca limpie automáticamente el ruido digital, las arrugas del papel y otras imperfecciones dentro de una imagen digital que de otro modo la harían incapaz de ser leída por otras bibliotecas de OCR.
EnhanceContrast es una configuración que hace que IronOCR aumente automáticamente el contraste del texto con el fondo de una imagen, aumentando la precisión del OCR y, en general, aumentando el rendimiento y la velocidad del OCR.
EnhanceResolution es una configuración que detectará automáticamente imágenes de baja resolución (que están por debajo de 275 ppp) y mejorará automáticamente la imagen y luego afinará todo el texto para que pueda ser leído perfectamente por una biblioteca de OCR. Aunque esta operación requiere mucho tiempo en sí misma, generalmente reduce el tiempo total para una operación de OCR en una imagen.
Language IronOCR admite 22 paquetes de idiomas internacionales, y la configuración de idioma se puede utilizar para seleccionar uno o más idiomas múltiples que se aplicarán a una operación de OCR.
Estrategia IronOCR admite dos estrategias. Podemos optar por un escaneo rápido y menos preciso de un documento o utilizar una estrategia avanzada que utiliza algunos modelos de inteligencia artificial para mejorar automáticamente la precisión del texto OCR al observar la relación estadística de las palabras entre sí en una oración.
ColorSpace es una configuración mediante la cual podemos elegir OCR en escala de grises o en color. Generalmente, la escala de grises es la mejor opción. Sin embargo, a veces, cuando hay textos o fondos de tono similar pero de color muy diferente, un espacio de color a todo color proporcionará mejores resultados.
DetectWhiteTextOnDarkBackgrounds. Generalmente, todas las bibliotecas de OCR esperan ver texto negro sobre fondos blancos. Esta configuración permite que IronOCR detecte automáticamente negativos o páginas oscuras con texto blanco y las lea.
InputImageType. Esta configuración permite al desarrollador orientar la biblioteca de OCR sobre si está viendo un documento completo o un fragmento, como una captura de pantalla.
RotateAndStraighten es una configuración avanzada que permite a IronOCR la capacidad única de leer documentos que no solo están rotados, sino que quizás contienen perspectiva, como fotografías de documentos de texto.
ReadBarcodes es una función útil que permite a IronOCR leer automáticamente códigos de barras y códigos QR en las páginas, ya que también lee texto, sin agregar una gran carga de tiempo adicional.
Profundidad del color. Esta configuración determina cuántos bits por píxel utilizará la biblioteca de OCR para determinar la profundidad de un color. Una mayor profundidad de color puede aumentar la calidad del OCR, pero también aumentará el tiempo necesario para que se complete la operación de OCR.
126 paquetes de idiomas
IronOCR admite 126 idiomas internacionales a través de paquetes de idiomas que se distribuyen como archivos DLL, que se pueden descargar desde este sitio web o también desde NuGet Package Manager .
Los idiomas incluyen alemán, francés, inglés, chino, japonés y muchos más. Existen paquetes de idiomas especializados para pasaportes MRZ, cheques MICR, datos financieros, matrículas y muchos más. También puede utilizar cualquier archivo tesseract ".traineddata", incluidos los que cree usted mismo.
Ejemplo de idioma
Uso de otros idiomas de OCR.
// using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Add image filters if necessary
// In this case, even though the input is of very low quality,
// IronTesseract can read what conventional Tesseract cannot.
var Result = Ocr.Read(input);
// Console printing for Arabic might not be easy on Windows.
// Instead, save to a text file.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Add image filters if necessary
// In this case, even though the input is of very low quality,
// IronTesseract can read what conventional Tesseract cannot.
var Result = Ocr.Read(input);
// Console printing for Arabic might not be easy on Windows.
// Instead, save to a text file.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install-Package IronOcr.Languages.Arabic
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Add image filters if necessary
' In this case, even though the input is of very low quality,
' IronTesseract can read what conventional Tesseract cannot.
Dim Result = Ocr.Read(input)
' Console printing for Arabic might not be easy on Windows.
' Instead, save to a text file.
Result.SaveAsTextFile("arabic.txt")
End Using
Ejemplo de varios idiomas
También es posible realizar el OCR utilizando varios idiomas al mismo tiempo. Esto realmente puede ayudar a obtener metadatos y URL en inglés en documentos Unicode.
// using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Spanish);
// Podemos agregar cualquier número de idiomas
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
// Save the OCR result to a text file.
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Spanish);
// Podemos agregar cualquier número de idiomas
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
// Save the OCR result to a text file.
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install-Package IronOcr.Languages.ChineseSimplified
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Spanish)
' Podemos agregar cualquier número de idiomas
Using input = New OcrInput()
input.Add("multi-language.pdf")
Dim Result = Ocr.Read(input)
' Save the OCR result to a text file.
Result.SaveAsTextFile("results.txt")
End Using
Objetos de resultados detallados de OCR
IronOCR devuelve un objeto de resultado de OCR para cada operación de OCR. Generalmente, los desarrolladores solo usan la propiedad de texto de este objeto para escanear el texto de la imagen. Sin embargo, el DOM de resultados de OCR es mucho más avanzado que esto.
using IronOcr;
using System.Drawing; // Agregar referencia de ensamblaje
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // ¡Importante!
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore here to find a vast and detailed API:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image export, coordinate data, statistical data
}
using IronOcr;
using System.Drawing; // Agregar referencia de ensamblaje
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // ¡Importante!
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore here to find a vast and detailed API:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image export, coordinate data, statistical data
}
Imports IronOcr
Imports System.Drawing ' Agregar referencia de ensamblaje
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' ¡Importante!
Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Explore here to find a vast and detailed API:
' - Pages, Blocks, Paragraphs, Lines, Words, Characters
' - Image export, coordinate data, statistical data
End Using
Actuación
IronOCR funciona de inmediato sin necesidad de ajustar el rendimiento o modificar en gran medida las imágenes de entrada.
La velocidad es increíble: IronOcr.2020 + es hasta 10 veces más rápido y comete un 250% menos de errores que las versiones anteriores.
Aprende más
Para obtener más información sobre OCR en C#, VB, F# o cualquier otro lenguaje .NET, lea nuestros tutoriales de la comunidad, que brindan ejemplos del mundo real de cómo se puede usar IronOCR y pueden mostrar los matices de cómo aprovechar al máximo esta biblioteca.
También está disponible una referencia de objeto completa para desarrolladores .NET.