Cómo usar paquetes de idiomas de OCR en IronOCR

Paquetes de idiomas OCR adicionales

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR admite 125 idiomas internacionales, pero solo inglés está instalado en IronOCR como estándar.

Los paquetes de idiomas adicionales se pueden agregar fácilmente a tu proyecto de C#, VB o ASP .NET a través de NuGet o como DLLs que pueden descargarse y añadirse como referencias del proyecto.

Ejemplos de código

Ejemplo de idioma internacional

Install-Package IronOcr.Languages.ChineseSimplified
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use Chinese Simplified
ocr.Language = OcrLanguage.ChineseSimplified;

using (var input = new OcrInput())
{
    // Add an image to be processed
    input.AddImage("img/chinese.gif");

    // Optional: Enhance the input by deskewing or denoising the image
    // input.Deskew();
    // input.DeNoise();

    // Process the image and retrieve the result
    var result = ocr.Read(input);

    // Store the recognized text in a string
    string testResult = result.Text;

    // Save the recognized text to a file since the console might not display Unicode characters properly
    result.SaveAsTextFile("chinese.txt");
}
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use Chinese Simplified
ocr.Language = OcrLanguage.ChineseSimplified;

using (var input = new OcrInput())
{
    // Add an image to be processed
    input.AddImage("img/chinese.gif");

    // Optional: Enhance the input by deskewing or denoising the image
    // input.Deskew();
    // input.DeNoise();

    // Process the image and retrieve the result
    var result = ocr.Read(input);

    // Store the recognized text in a string
    string testResult = result.Text;

    // Save the recognized text to a file since the console might not display Unicode characters properly
    result.SaveAsTextFile("chinese.txt");
}
Imports IronOcr

Private ocr = New IronTesseract()
' Set the OCR to use Chinese Simplified
ocr.Language = OcrLanguage.ChineseSimplified

Using input = New OcrInput()
	' Add an image to be processed
	input.AddImage("img/chinese.gif")

	' Optional: Enhance the input by deskewing or denoising the image
	' input.Deskew();
	' input.DeNoise();

	' Process the image and retrieve the result
	Dim result = ocr.Read(input)

	' Store the recognized text in a string
	Dim testResult As String = result.Text

	' Save the recognized text to a file since the console might not display Unicode characters properly
	result.SaveAsTextFile("chinese.txt")
End Using
$vbLabelText   $csharpLabel

Ejemplo de lenguaje escrito verticalmente

Diccionarios ajustados para idiomas escritos verticalmente. Usar la variante 'Vertical' de OcrLanguage para coreano y japonés.

using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use Japanese Vertical language
ocr.Language = OcrLanguage.JapaneseVertical;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use Japanese Vertical language
ocr.Language = OcrLanguage.JapaneseVertical;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
' Set the OCR to use Japanese Vertical language
ocr.Language = OcrLanguage.JapaneseVertical

Using input = New OcrInput("images\image.png")
	' Process the image and get the OCR result
	Dim result = ocr.Read(input)
	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Ejemplo de lenguaje personalizado

Para usar cualquier archivo de idioma Tesseract .traineddata que hayas descargado o entrenado tú mismo.

using IronOcr;

var ocr = new IronTesseract();

// Use a custom Tesseract language file
ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();

// Use a custom Tesseract language file
ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()

' Use a custom Tesseract language file
ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")

Using input = New OcrInput("images\image.png")
	' Process the image and get the OCR result
	Dim result = ocr.Read(input)
	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Ejemplo de varios idiomas

Más de un idioma a la vez.

Install-Package IronOcr.Languages.Arabic
using IronOcr;

var ocr = new IronTesseract();

// Set the primary language to English
ocr.Language = OcrLanguage.English;
// Add Arabic as a secondary language
ocr.AddSecondaryLanguage(OcrLanguage.Arabic);
// Add any number of languages

using (var input = new OcrInput(@"images\multi-lang.pdf"))
{
    // Process the PDF and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();

// Set the primary language to English
ocr.Language = OcrLanguage.English;
// Add Arabic as a secondary language
ocr.AddSecondaryLanguage(OcrLanguage.Arabic);
// Add any number of languages

using (var input = new OcrInput(@"images\multi-lang.pdf"))
{
    // Process the PDF and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()

' Set the primary language to English
ocr.Language = OcrLanguage.English
' Add Arabic as a secondary language
ocr.AddSecondaryLanguage(OcrLanguage.Arabic)
' Add any number of languages

Using input = New OcrInput("images\multi-lang.pdf")
	' Process the PDF and get the OCR result
	Dim result = ocr.Read(input)
	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Ejemplo de lenguaje más rápido

Diccionarios ajustados para velocidad. Usa la variante 'Rápido' de cualquier OcrLanguage.

using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use the fast variant of English
ocr.Language = OcrLanguage.EnglishFast;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use the fast variant of English
ocr.Language = OcrLanguage.EnglishFast;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
' Set the OCR to use the fast variant of English
ocr.Language = OcrLanguage.EnglishFast

Using input = New OcrInput("images\image.png")
	' Process the image and get the OCR result
	Dim result = ocr.Read(input)
	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Ejemplo de lenguaje detallado de mayor precisión

Diccionarios ajustados para precisión, pero con resultados mucho más lentos. Usa la variante 'Mejor' de cualquier OcrLanguage.

Install-Package IronOcr.Languages.French
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use the best variant of French
ocr.Language = OcrLanguage.FrenchBest;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
// Set the OCR to use the best variant of French
ocr.Language = OcrLanguage.FrenchBest;

using (var input = new OcrInput(@"images\image.png"))
{
    // Process the image and get the OCR result
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
' Set the OCR to use the best variant of French
ocr.Language = OcrLanguage.FrenchBest

Using input = New OcrInput("images\image.png")
	' Process the image and get the OCR result
	Dim result = ocr.Read(input)
	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Cómo instalar paquetes de idiomas de OCR

Paquetes adicionales de idiomas para OCR están disponibles para descarga a continuación. O bien

  • Instala el paquete NuGet. Busca en NuGet por IronOCR Languages.
  • O descarga el archivo 'ocrdata' y agrégalo a tu proyecto .NET en cualquier carpeta que desees. Establece CopyToOutputDirectory = CopyIfNewer

Descargar paquetes de idiomas de OCR

Ayuda

Si el idioma que está buscando no está disponible en la lista anterior, por favor contáctenos. Muchos otros idiomas están disponibles bajo petición.

La prioridad en los recursos de producción se da a los licenciatarios de IronOCR, por lo que también considere licenciar IronOCR para acceder al paquete de idioma deseado.