IronOCRでOCR言語パックを使用する方法

追加のOCR言語パック

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

IronOCR は 125 の国際言語をサポートしていますが、IronOCR に標準でインストールされるのは英語のみです。

追加の言語パックは、NuGet 経由で、またはダウンロードしてプロジェクト参照として追加できる DLL として、C#、VB、またはASP .NETプロジェクトに簡単に追加できます。

コード例

国際言語の例

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

縦書き言語の例

縦書き言語向けに調整された辞書。 韓国語と日本語の OcrLanguage の"垂直"バリアントを使用します。

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

カスタム言語の例

ダウンロードした、または自分でトレーニングした Tesseract .traineddata 言語ファイルを使用する場合。

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

複数言語の例

一度に複数の言語。

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

より速い言語の例

速度を重視して調整された辞書。 任意の 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

より高精度な詳細言語の例

辞書は正確さを重視して調整されていますが、結果の表示速度ははるかに遅くなります。 任意の 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

OCR言語パックのインストール方法

追加の OCR 言語パックは以下からダウンロードできます。 どちらか

  • NuGet パッケージをインストールします。 NuGet で IronOCR Languages を検索します
  • または、"ocrdata"ファイルをダウンロードし、任意のフォルダにある.NETプロジェクトに追加します。CopyToOutputDirectory CopyToOutputDirectory = CopyIfNewerを設定します。

  • または、"ocrdata"ファイルをダウンロードして、任意のフォルダにある .NET プロジェクトに追加してください。CopyToOutputDirectory を CopyIfNewer に設定します。

ヘルプ

読みたい言語が上記のリストにない場合は、お問い合わせください。 リクエストに応じて他の多くの言語も利用可能です。

制作リソースは IronOCR ライセンシーに優先的に提供されるため、希望する言語パックにアクセスするために IronOCR のライセンスもご検討ください。