1

MODIを使用してC#で画像をOCRしようとしています。次のエラーが表示されます。

System.Runtime.InteropServices.COMException (0xC6C80001): Object hasn't been initialized and can't be used yet 
at MODI.DocumentClass.OCR(MiLANGUAGES LangId, Boolean OCROrientImage, Boolean OCRStraightenImage)

これが私が使用するコードです。

MODI.Document mDoc = new MODI.Document();
mDoc.Create(imageFilePath);
mDoc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
MODI.Image image = (MODI.Image) mDoc.Images[0];
String imageText = image.Layout.Text;

これが私が気づいたことです。コードを開発した Windows 2003 では問題なく動作します。関連するすべてのコードを Windows 2008 の別のマシンに移動し、IIS をそのコードに接続すると、エラーが発生します。

コードが作成およびコンパイルされたサーバーに依存関係がある可能性はありますか?

何が例外を引き起こす可能性がありますか? 助けていただければ幸いです。ありがとう!

4

2 に答える 2

1

MODIを利用するサービスで同様の問題に遭遇しました。サービスはローカル マシンとテスト環境で正しく実行されましたが、運用マシン (Windows 2003 および 2008 R2) からサービスを呼び出すと、次のエラーが表示されました。

  • サーバーは要求を処理できませんでした。---> オブジェクトは初期化されておらず、まだ使用できません。

IIS に移動し、サービスのアプリケーション プール ID を NetworkService に切り替えることで、これを修正できました。私たちが使用していた以前の ID アカウントは、より制限的なアクセス許可を持っていたため、MODI がインストールされていても、正しくアクセスおよびロードされていませんでした。

于 2013-08-09T16:21:21.910 に答える