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/'> NuGet

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;
using (var Input = new OcrInput(@"images\Spanish.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Spanish
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput(@"images\Spanish.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Spanish
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput("images\Spanish.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

¿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
VB   C#

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
var Result = Ocr.Read(Input);
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
var Result = Ocr.Read(Input);
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") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

El mismo enfoque se puede utilizar de manera similar para extraer texto de cualquier documento PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// También podemos seleccionar números de página PDF específicos para OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 página por cada página del PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// También podemos seleccionar números de página PDF específicos para OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 página por cada página del PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' También podemos seleccionar números de página PDF específicos para OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 página por cada página del PDF
End Using
VB   C#

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()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

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);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// propiedades de tipo y ubicación también expuestas
}
}
// 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);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// propiedades de tipo y ubicación también expuestas
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' propiedades de tipo y ubicación también expuestas
Next Barcode
End Using
VB   C#

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;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;

using (var Input = new OcrInput())
{
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);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;

using (var Input = new OcrInput())
{
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);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish

Using Input = New OcrInput()
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)
Console.WriteLine(Result.Text)
End Using
VB   C#

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);
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);
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)
Console.WriteLine(Result.Text)
End Using
VB   C#

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()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

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()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

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()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Spanish;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Spanish
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

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);
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);
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)
Console.WriteLine(Result.Text)
End Using
VB   C#

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 IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Agregue filtros de imagen si es necesario
// En este caso, incluso la entrada de pensamiento es de muy baja calidad.
// IronTesseract puede leer lo que el Tesseract convencional no puede.

var Result = Ocr.Read(input);

// La consola no puede imprimir árabe en Windows fácilmente.
// En su lugar, guardemos en disco.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Agregue filtros de imagen si es necesario
// En este caso, incluso la entrada de pensamiento es de muy baja calidad.
// IronTesseract puede leer lo que el Tesseract convencional no puede.

var Result = Ocr.Read(input);

// La consola no puede imprimir árabe en Windows fácilmente.
// En su lugar, guardemos en disco.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Agregue filtros de imagen si es necesario
' En este caso, incluso la entrada de pensamiento es de muy baja calidad.
' IronTesseract puede leer lo que el Tesseract convencional no puede.

Dim Result = Ocr.Read(input)

' La consola no puede imprimir árabe en Windows fácilmente.
' En su lugar, guardemos en disco.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

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 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);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install 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);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install 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)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

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 aquí para encontrar una API masiva y detallada:
// - Páginas, Bloques, Paraphaphs, Líneas, Palabras, Caracteres
// - Exportación de imágenes, coordenadas de fuentes, datos estadísticos
}
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 aquí para encontrar una API masiva y detallada:
// - Páginas, Bloques, Paraphaphs, Líneas, Palabras, Caracteres
// - Exportación de imágenes, coordenadas de fuentes, datos estadísticos
}
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 aquí para encontrar una API masiva y detallada:
' - Páginas, Bloques, Paraphaphs, Líneas, Palabras, Caracteres
' - Exportación de imágenes, coordenadas de fuentes, datos estadísticos
End Using
VB   C#

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 .