Documentインターフェイス

DocumentはMODIの最も主要なオブジェクトであり、対象となる画像の読み込みやOCRの実行を制御できます。またその結果をImagesプロパティで保持するため、複数の結果ページへのアクセス手段ともなります。

プロパティ
プロパティ 内容
Images Images 複数ページのイメージのコレクション。
Dirty bool 変更後に保存されていないならばtrueを返す。
BuiltInDocumentProperties object  
CustomDocumentProperties object  
メソッド
分類 メソッド 説明
オープン
クローズ
Create MDIまたはTIFファイルを読み込み、ドキュメントを作成する。
Close ドキュメントを閉じる。
OCR OCR 文字認識 (OCR) を実行する。
保存 SaveAs 名前を付けてドキュメントを保存する。
Save 上書きで保存する。
印刷 PrintOut 印刷する。
イベント
イベント 説明
OnOCRProgress OCRの進捗を通知する。

メソッド

Create

void Create(
    string FileOpen  // ファイル名
    );

Close

void Close(
    bool SaveChanges  // ドキュメントが未保存の場合
                      // 閉じる前に保存するかどうか
    );

OCR

void OCR(
    MiLANGUAGES LangId,     // ドキュメントの言語
    bool OCROrientImage,    // ドキュメントの回転を補正させるかどうか
    bool OCRStraightenImage // ドキュメントの歪みを補正させるかどうか
    );
OCR Method | MSDN

文字認識に失敗した場合には、OCR running error (エラーコード:-959967087(0xC6C81091)) のCOMException例外が発生します。

MiLANGUAGES列挙型
列挙子 言語
miLANG_CZECH チェコ語
miLANG_DANISH デンマーク語
miLANG_GERMAN ドイツ語
miLANG_GREEK ギリシャ語
miLANG_ENGLISH 英語
miLANG_SPANISH スペイン語
miLANG_FINNISH フィンランド語
miLANG_FRENCH フランス語
miLANG_HUNGARIAN ハンガリー語
miLANG_ITALIAN イタリア語
miLANG_JAPANESE 日本語
miLANG_KOREAN 朝鮮語
miLANG_DUTCH オランダ語
miLANG_NORWEGIAN ノルウェー語
miLANG_POLISH ポーランド語
miLANG_PORTUGUESE ポルトガル語
miLANG_RUSSIAN ロシア語
miLANG_SWEDISH スウェーデン語
miLANG_TURKISH トルコ語
miLANG_CHINESE_TRADITIONAL 中国語 (繁体字)
miLANG_CHINESE_SIMPLIFIED 中国語 (簡体字)
miLANG_SYSDEFAULT システムの既定の言語

SaveAs

void SaveAs(
    string FileName,           // ファイル名
    MiFILE_FORMAT FileFormat,  // フォーマット
    MiCOMP_LEVEL CompLevel     // 圧縮レベル
    );

Save

void Save();

PrintOut

void PrintOut(
    int From,
    int To,
    int Copies,
    string PrinterName,
    string PrintToFileName,
    bool PrintAnnotation,
    MiPRINT_FITMODES FitMode
    );

イベント

OnOCRProgress

event _IDocumentEvents_OnOCRProgressEventHandler OnOCRProgress;
OnOCRProgress Event | MSDN

イベントハンドラは次の形式になります。

public delegate void _IDocumentEvents_OnOCRProgressEventHandler(
    int Progress,    // OCR処理の進捗割合 (0~99の数値)
    ref bool Cancel  // trueに設定することで OCR処理を停止できる
    );

0~99%の割合で進捗を通知するようになっていますが、必ずしも1%ごとにイベントが発生するわけではありません。また実際には20~80%の間でしか通知されません。

サンプルコード

void Main()
{
    MODI.Document document = new MODI.Document();

    document.OnOCRProgress +=
        new MODI._IDocumentEvents_OnOCRProgressEventHandler( document_OnOCRProgress );
}

// イベントハンドラ
void document_OnOCRProgress( int Progress, ref bool Cancel )
{
    Console.Write( Progress );
}