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の進捗を通知する。 |
void Create(
string FileOpen // ファイル名
);
void Close(
bool SaveChanges // ドキュメントが未保存の場合
// 閉じる前に保存するかどうか
);
void OCR(
MiLANGUAGES LangId, // ドキュメントの言語
bool OCROrientImage, // ドキュメントの回転を補正させるかどうか
bool OCRStraightenImage // ドキュメントの歪みを補正させるかどうか
);
OCR Method | MSDN
文字認識に失敗した場合には、OCR running error (エラーコード:-959967087(0xC6C81091)) のCOMException例外が発生します。
| 列挙子 | 言語 |
|---|---|
| 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 | システムの既定の言語 |
void SaveAs(
string FileName, // ファイル名
MiFILE_FORMAT FileFormat, // フォーマット
MiCOMP_LEVEL CompLevel // 圧縮レベル
);
void Save();
void PrintOut(
int From,
int To,
int Copies,
string PrinterName,
string PrintToFileName,
bool PrintAnnotation,
MiPRINT_FITMODES FitMode
);
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 );
}