Tesseractを使用して複数の言語を扱う方法

Kannaopat Udonpant
カンナパット・ウドンパント
2023年10月25日
更新済み 2024年12月10日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

光学文字認識(OCR)技術の分野において、IronOCRはさまざまな言語やスクリプトからテキストを抽出する能力で知られる評価の高いツールです。私たちは信頼性が高く使いやすいOCRツールを提供するためにTesseractエンジンを使用しています。

この記事では、IronOCRがTesseractのおかげで複数の言語のテキストをどのように効果的に処理するかを説明します。 経験豊富な開発者で信頼性の高い多言語OCRソリューションを探している場合や、単にその仕組みに興味がある場合でも、この記事はIronOCRとそのTesseractエンジンを理解するのに役立ちます。この貴重なツールの機能を明らかにします。

IronOCRを始めましょう

今日から無料トライアルでIronOCRをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



マルチランゲージPDFの読み取り例

IronOCRは約125の言語パックを提供していますが、デフォルトでは英語のみがインストールされています。それ以外の言語パックはNuGetからダウンロードできます。 すべての利用可能な言語パックはこちらでご覧いただけます。

次の例では、IronOCRを使用してPDFファイルからテキストを抽出する際に、複数の言語を使用するコードをお見せします。

:path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-pdf-input.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Set secondary language to Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian);

// Add PDF
using var pdfInput = new OcrPdfInput(@"example.pdf");
// Perform OCR
OcrResult result = ocrTesseract.Read(pdfInput);

// Output extracted text to console
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Set secondary language to Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian)

' Add PDF
Dim pdfInput = New OcrPdfInput("example.pdf")
' Perform OCR
Dim result As OcrResult = ocrTesseract.Read(pdfInput)

' Output extracted text to console
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

任意の数の第二言語をAddSecondaryLanguageメソッドを使用して追加することができます。 ただし、この追加により速度とパフォーマンスに影響を与える可能性がありますので、ご了承ください。 言語の優先順位は、それが追加された順番によって決まります。最初に追加されたものがより高い優先順位を持ちます。

多言語画像の読み取り例

既定では、主な言語は英語に設定されています。 主要言語を変更するには、Language プロパティを目的の言語に設定します。 その後、セカンダリー言語を追加することもできます。

:path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-image-input.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Set primary language to Hindi
ocrTesseract.Language = OcrLanguage.Russian;
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese);

// Add image
using var imageInput = new OcrImageInput(@"example.png");
// Perform OCR
OcrResult result = ocrTesseract.Read(imageInput);

// Output extracted text to console
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Set primary language to Hindi
ocrTesseract.Language = OcrLanguage.Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese)

' Add image
Dim imageInput = New OcrImageInput("example.png")
' Perform OCR
Dim result As OcrResult = ocrTesseract.Read(imageInput)

' Output extracted text to console
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

正しく行えば、以下のような結果を期待できます。

ロシア語と日本語

結論

簡単に言えば、IronOCRは強力なTesseractエンジンに支えられており、複数の言語で書かれたドキュメントからテキストを抽出するのに優れています。 これは、多くの言語でテキストを読み取るという複雑さに対処するための不可欠なツールであり、開発者や好奇心旺盛な人々に多用途なソリューションを提供します。 さまざまな言語のテキストを含むPDFを処理する場合や、画像内の多言語コンテンツを扱う場合でも、IronOCRは複数の言語のテキストを認識し抽出する作業を簡素化します。

Kannaopat Udonpant
カンナパット・ウドンパント
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、カンナパットは日本の北海道大学から環境資源学の博士号を取得しました。学位を取得する過程で、カンナパットはバイオプロダクション工学部に所属する車両ロボティクス研究所のメンバーにもなりました。2022年には、C#のスキルを活かしてIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。カンナパットは、IronPDFで使用されているコードの大部分を作成した開発者から直接学べることに価値を見いだしています。同僚との学び合いに加えて、Iron Softwareで働くことの社会的側面も楽しんでいます。コードやドキュメントを書いていない時には、カンナパットは通常、PS5でゲームをしたり、『The Last of Us』を再視聴したりしています。