OCR galego en C#e .Net

Outras versións deste documento:

IronOCR é un compoñente de software C#que permite aos codificadores .NET ler texto de imaxes e documentos PDF en 126 idiomas, incluído o galego.

É un garfo avanzado de Tesseract, construído exclusivamente para os desenvolvedores .NET e supera regularmente a outros motores Tesseract tanto por velocidade como por precisión.

Contido de IronOcr.Languages.Galician

Este paquete contén 49 idiomas OCR para .NET:

  • Galego
  • GalegoMellor
  • GalicianFast

Descargar

Paquete de Lingua Galega [galego]
* Download as Zip
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Galician/'> NuGet

Instalación

O primeiro que temos que facer é instalar o noso paquete OCR galego no seu proxecto .NET.

PM> Install-Package IronOCR.Languages.Galician

Exemplo de código

Este exemplo de código C#le texto en galego dun documento Image ou PDF.

//PM> Install-Package IronOcr.Languages.Galician
using IronOcr;

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

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

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

Por que escoller IronOCR?

Iron OCR é unha biblioteca de software .NET fácil de instalar, completa e ben documentada.

Escolla IronOCR para acadar o 99,8% de precisión de OCR sen usar ningún servizo web externo, taxas continuas nin enviar documentos confidenciais a través de internet.

Por que os desenvolvedores de C#escollen IronOCR sobre Vanilla Tesseract:

  • Instalar como unha única DLL ou Nuget
  • Inclúe motores Tesseract 5, 4 e 3 fóra da caixa.
  • A precisión O 99,8% supera significativamente a Tesseract normal.
  • Velocidade ardente e MultiThreading
  • Compatible con aplicacións MVC, WebApp, escritorio, consola e servidor
  • Non hai código Exes nin C ++ co que traballar
  • Soporte completo de OCR en PDF
  • Para realizar OCR case calquera ficheiro de imaxe ou PDF
  • Compatibilidade completa .Net Core, Standard e FrameWork
  • Implementar en Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Le códigos de barras e códigos QR
  • Exporta OCR como a XHTML
  • Exporta OCR a documentos PDF que se poden buscar
  • Soporte multithreading
  • 126 idiomas internacionais xestionados todos mediante ficheiros Nuget ou OcrData
  • Extraer imaxes, coordenadas, estatísticas e tipos de letra. Non só texto.
  • Pódese usar para redistribuír Tesseract OCR dentro de aplicacións comerciais e propietarias.

O OCR de ferro brilla cando se traballa con imaxes do mundo real e documentos imperfectos como fotografías ou escaneos de baixa resolución que poden ter ruído ou imperfeccións dixitais.

Outras bibliotecas OCR gratuítas para a plataforma .NET, como outras API e servizos web .net tesseract, non funcionan tan ben nestes casos de uso do mundo real.

OCR con Tesseract 5: inicia a codificación en C #

A mostra de código seguinte mostra o fácil que é ler texto dunha imaxe usando C#ou VB .NET.

OneLiner

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#

Configurable Hello World

// PM> Install-Package IronOCR.Languages.Galician
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... podes engadir calquera número de imaxes
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Galician
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... podes engadir calquera número de imaxes
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Galician
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Galician
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

O mesmo enfoque pode usarse de xeito similar para extraer texto de calquera documento PDF.

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

var Result = Ocr.Read(input);

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

var Result = Ocr.Read(input);

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

Dim Result = Ocr.Read(input)

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

OCR para TIFF MultiPage

OCR Lectura do formato de ficheiro TIFF que inclúe documentos de varias páxinas. TIFF tamén se pode converter directamente nun ficheiro PDF con texto que se pode buscar.

using IronOcr;

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

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.Galician;

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.Galician

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 e QR

Unha característica única de Iron OCR é que pode ler códigos de barras e códigos QR de documentos mentres busca texto. As instancias da clase OcrResult.OcrBarcode proporcionan ao programador información detallada sobre cada código de barras dixitalizado.

// 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);
// tamén se expoñen as propiedades de tipo e localización
}
}
// 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);
// tamén se expoñen as propiedades de tipo e localización
}
}
' 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)
' tamén se expoñen as propiedades de tipo e localización
Next Barcode
End Using
VB   C#

OCR sobre áreas específicas de imaxes

Todos os métodos de dixitalización e lectura de Iron OCR ofrecen a posibilidade de especificar con exactitude de que parte ou páxinas desexamos ler o texto. Isto é moi útil cando estamos a buscar formularios estandarizados e pode aforrar moito tempo e mellorar a eficiencia.

Para usar as rexións de cultivo, teremos que engadir unha referencia do sistema a System.Drawing para poder usar o obxecto System.Drawing.Rectangle .

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// As dimensións 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.Galician;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// As dimensións 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.Galician

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' As dimensións 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 baixa calidade

A clase OcrInput Iron OCR pode corrixir exploracións que Tesseract normal non pode ler.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew(); // fixa a rotación e a perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew(); // fixa a rotación e a perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Galician

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew() ' fixa a rotación e a perspectiva
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exporta os resultados de OCR como PDF buscable

Imaxe en PDF con cadeas de texto copiables. Pode ser indexado por motores de busca e bases de datos.

using IronOcr;

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

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.Galician;

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.Galician

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 PDF TIFF a busca

Converte un documento TIFF (ou calquera grupo de ficheiros de imaxe) directamente nun PDF que se pode buscar e que pode ser indexado pola intranet, o sitio web e os buscadores de Google.

using IronOcr;

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

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.Galician;

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.Galician

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 imaxe OCR a XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;
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.Galician;
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.Galician
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 mellora da imaxe OCR

IronOCR ofrece filtros exclusivos para obxectos OcrInput para mellorar o rendemento do OCR.

Exemplo de código de mellora da imaxe

Fai que as imaxes de entrada de OCR sexan de maior calidade para producir resultados de OCR mellores e máis rápidos.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew(); // fixa a rotación e a perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew(); // fixa a rotación e a perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Galician

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' corrixe o ruído dixital e a dixitalización deficiente
Input.Deskew() ' fixa a rotación e a perspectiva
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lista de filtros de imaxe OCR

Os filtros de entrada para mellorar o rendemento de OCR integrados en IronOCR inclúen:

  • OcrInput.Rotate (dobre grao) : xira as imaxes un número de graos no sentido horario. En sentido antihorario, use números negativos.
  • OcrInput.Binarize () : este filtro de imaxe converte todos os píxeles en branco ou negro sen terreo medio. Pode mellorar os casos de rendemento de OCR cun contraste moi baixo de texto e fondo.
  • OcrInput.ToGrayScale () : este filtro de imaxe converte cada píxel nunha sombra de escala de grises. É improbable que mellore a precisión do OCR pero pode mellorar a velocidade
  • OcrInput.Contrast () : aumenta o contraste automaticamente. Este filtro adoita mellorar a velocidade e a precisión do OCR nas exploracións de baixo contraste.
  • OcrInput.DeNoise () : elimina o ruído dixital. Este filtro só se debe empregar onde se espera ruído.
  • OcrInput.Invert () : inverte todas as cores. Por exemplo, o branco vólvese negro: o negro vólvese branco.
  • OcrInput.Dilate () - Morfoloxía avanzada. A dilatación engade píxeles aos límites dos obxectos dunha imaxe. Fronte a Erode
  • OcrInput.Erode () - Morfoloxía avanzada. A erosión elimina os píxeles nos límites dos obxectos
  • OcrInput.Deskew () : xira unha imaxe para que sexa correcta cara arriba e ortogonal. Isto é moi útil para OCR porque a tolerancia de Tesseract para exploracións inclinadas pode ser tan baixa como 5 graos.
  • OcrInput.DeepCleanBackgroundNoise () - Eliminación de ruído de fondo intensa. Use este filtro só no caso de que se coñeza o ruído de fondo do documento, porque este filtro tamén corre o risco de reducir a precisión do OCR dos documentos limpos e é moi caro na CPU.
  • OcrInput.EnhanceResolution : mellora a resolución de imaxes de baixa calidade. Este filtro non adoita ser necesario porque OcrInput.MinimumDPI e OcrInput.TargetDPI capturarán e resolverán automaticamente as entradas de baixa resolución.

CleanBackgroundNoise. Esta é unha configuración que leva moito tempo; non obstante, permite á biblioteca limpar automaticamente o ruído dixital, o papel que se arruga e outras imperfeccións dentro dunha imaxe dixital que doutro xeito faríaa incapaz de ser lida por outras bibliotecas OCR.

EnhanceContrast é unha configuración que fai que Iron OCR aumente automáticamente o contraste do texto sobre o fondo dunha imaxe, aumentando a precisión do OCR e, xeralmente, aumentando o rendemento e a velocidade do OCR.

EnhanceResolution é unha configuración que detectará automaticamente imaxes de baixa resolución (que teñen menos de 275 dpi) e aumentará automaticamente a imaxe e, a continuación, afinará todo o texto para que poida ser lido perfectamente por unha biblioteca de OCR. Aínda que esta operación leva consigo moito tempo, normalmente reduce o tempo global para unha operación de OCR nunha imaxe.

Language Iron OCR admite 22 paquetes de idiomas internacionais e a configuración do idioma pode usarse para seleccionar un ou varios idiomas que se aplicarán a unha operación de OCR.

OCR Iron Strategy soporta dúas estratexias. Podemos optar por unha dixitalización rápida e menos precisa dun documento ou usar unha estratexia avanzada que emprega algúns modelos de intelixencia artificial para mellorar automaticamente a precisión do texto OCR observando a relación estatística das palabras entre si nunha frase. .

ColorSpace é unha configuración coa que podemos optar por OCR en escala de grises ou en cor. Xeralmente, a escala de grises é a mellor opción. Non obstante, ás veces cando hai textos ou fondos de tonalidade semellante pero de cor moi diferente, un espazo a toda cor dará mellores resultados.

DetectWhiteTextOnDarkBackgrounds. Xeralmente, todas as bibliotecas de OCR esperan ver texto negro sobre fondos brancos. Esta configuración permite que Iron OCR poida detectar automaticamente negativos ou páxinas escuras con texto branco e lelas.

InputImageType. Esta configuración permite ao desenvolvedor guiar a biblioteca OCR sobre se está a ver un documento completo ou un fragmento, como unha captura de pantalla.

RotateAndStraighten é unha configuración avanzada que permite a Iron OCR a capacidade única de ler documentos que non só se xiran, senón que posúen perspectiva, como fotografías de documentos de texto.

ReadBarcodes é unha característica útil que permite a Iron OCR ler automaticamente códigos de barras e códigos QR nas páxinas xa que tamén le texto, sen engadir unha carga de tempo adicional.

Profundidade de cor. Esta configuración determina cantos bits por píxel empregará a biblioteca OCR para determinar a profundidade dunha cor. Unha profundidade de cor maior pode aumentar a calidade do OCR, pero tamén aumentará o tempo necesario para completar a operación do OCR.

126 paquetes de idiomas

Iron OCR admite 126 idiomas internacionais a través de paquetes de idiomas que se distribúen como DLL, que se poden descargar desde este sitio web ou tamén desde o NuGet Package Manager .

Os idiomas inclúen alemán, francés, inglés, chinés, xaponés e moitos máis. Existen paquetes de idiomas especializados para pasaportes MRZ, cheques MICR, datos financeiros, matrículas e moitos máis. Tamén podes usar calquera ficheiro ".traineddata" de tesseract, incluídos os que creas ti mesmo.

Exemplo de idioma

Usando outras linguas 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");
// Engade filtros de imaxe se é necesario
// Neste caso, incluso a entrada pensada é de moi baixa calidade
// IronTesseract pode ler o que o Tesseract convencional non pode.

var Result = Ocr.Read(input);

// A consola non pode imprimir árabe en Windows facilmente.
// Gardemos no disco no seu lugar.
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");
// Engade filtros de imaxe se é necesario
// Neste caso, incluso a entrada pensada é de moi baixa calidade
// IronTesseract pode ler o que o Tesseract convencional non pode.

var Result = Ocr.Read(input);

// A consola non pode imprimir árabe en Windows facilmente.
// Gardemos no disco no seu lugar.
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")
' Engade filtros de imaxe se é necesario
' Neste caso, incluso a entrada pensada é de moi baixa calidade
' IronTesseract pode ler o que o Tesseract convencional non pode.

Dim Result = Ocr.Read(input)

' A consola non pode imprimir árabe en Windows facilmente.
' Gardemos no disco no seu lugar.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Exemplo de varios idiomas

Tamén é posible facer OCR usando varias linguas ao mesmo tempo. Isto pode realmente axudar a obter metadatos e 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.Galician);

// Podemos engadir calquera 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.Galician);

// Podemos engadir calquera 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.Galician)

' Podemos engadir calquera 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#

Obxectos detallados de resultados de OCR

OCR de ferro devolve un obxecto de resultado de OCR para cada operación de OCR. Xeralmente, os desenvolvedores só usan a propiedade de texto deste obxecto para obter o texto dixitalizado na imaxe. Non obstante, os resultados do OCR DOM son moito máis avanzados que este.

using IronOcr;
using System.Drawing; //Engadir referencia de montaxe

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;
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 atopar unha API masiva e detallada:
// - Páxinas, bloques, parafáficos, liñas, palabras, letras
// - Exportación de imaxes, coordenadas de fontes, datos estatísticos
}
using IronOcr;
using System.Drawing; //Engadir referencia de montaxe

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Galician;
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 atopar unha API masiva e detallada:
// - Páxinas, bloques, parafáficos, liñas, palabras, letras
// - Exportación de imaxes, coordenadas de fontes, datos estatísticos
}
Imports IronOcr
Imports System.Drawing 'Engadir referencia de montaxe

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Galician
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 atopar unha API masiva e detallada:
' - Páxinas, bloques, parafáficos, liñas, palabras, letras
' - Exportación de imaxes, coordenadas de fontes, datos estatísticos
End Using
VB   C#

Actuación

IronOCR funciona fóra da caixa sen necesidade de axustar o rendemento ou modificar moito as imaxes de entrada.

A velocidade é ardente: IronOcr.2020 + é ata 10 veces máis rápido e comete máis dun 250% menos de erros que as versións anteriores.

Aprender máis

Para obter máis información sobre OCR en C #, VB, F # ou calquera outro idioma .NET, lea os nosos titoriais da comunidade , que dan exemplos do mundo real de como se pode usar Iron OCR e poden amosar os matices de como sacar o mellor proveito de esta biblioteca.

Tamén hai dispoñible unha referencia completa de obxectos para desenvolvedores .NET .