対象となる画像の読み込みからOCRの結果の取得までの一連の流れを、コードの例とともに解説します。
static void Main()
{
string imageFile = "sample.jpg";
// 1. ドキュメントの作成
MODI.Document document = new MODI.Document();
// 2. 画像の読み込み
document.Create( imageFile );
try
{
// 3. OCRの実行
document.OCR( MODI.MiLANGUAGES.miLANG_JAPANESE, true, true );
// 4. 結果の取得
for( int i = 0; i < document.Images.Count; i++ )
{
// 1ページ分のイメージを取得
MODI.Image image = ( MODI.Image )document.Images[ i ];
// OCR結果の取得
MODI.Layout layout = image.Layout;
// 認識されたテキストを表示
Console.Write( layout.Text );
}
}
catch( System.Runtime.InteropServices.COMException ex )
{
// 認識失敗
Console.Write( ex.Message );
}
}
MODI.DocumentはMODIの主要なインターフェイスであり、基本的な処理はすべてこのインターフェイスを用いて行います。よって最初にMODI.Documentのインスタンスを生成します。
処理対象の文章は、Document.Createメソッドで画像ファイルから読み込みます。
Document.OCRメソッドで、文章の言語を指定してOCRを実行します。
OCR処理中の状況は、Document.OnOCRProgressイベントで取得できます。
結果はDocument.Imagesプロパティを介して取得します。ImagesはImageのコレクションで、複数ページのドキュメントを保持しています。個々のページにはImagesインターフェイスのインデクサからアクセスできます。このプロパティはobject型で返すため、取得時にはImageにキャストする必要があります。