0

プロジェクトでOCRを使用する予定で、さらにOCRメソッドを検索しましたが、何も正しく見つかりませんでした。そしてついに MODI について聞いたので、それを試してみました。しかし、次のエラーがスローされます:

次のエラーのため、CLSID {40942A6C-1520-4132-BDF8-BDC1F71F547B} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80040154

と を使用Microsoft Office 2013してvisual studio 2012います。

私が使用しているコードは次のとおりです。

 private void button1_Click(object sender, EventArgs e)
    {
        CheckFileType(@"E:\\");
    }

    public void CheckFileType(string directoryPath) 
    { 
        IEnumerator files = Directory.GetFiles(directoryPath).GetEnumerator(); 
        while (files.MoveNext()) 
        { 
        //get file extension 
        string fileExtension = Path.GetExtension(Convert.ToString(files.Current));

        //get file name without extenstion 
        string fileName=Convert.ToString(files.Current).Replace(fileExtension,string.Empty);

        //Check for JPG File Format 
        if (fileExtension == ".jpg" || fileExtension == ".JPG") // or // ImageFormat.Jpeg.ToString()
        { 
        try 
        { 
        //OCR Operations ... 
        MODI.Document md = new MODI.Document(); 
        md.Create(Convert.ToString(files.Current)); 
        md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true); 
        MODI.Image image = (MODI.Image)md.Images[0];
        //create text file with the same Image file name 
        FileStream createFile = new FileStream(fileName + ".txt",FileMode.CreateNew);

        //save the image text in the text file 
        StreamWriter writeFile = new StreamWriter(createFile); 
        writeFile.Write(image.Layout.Text); 
        writeFile.Close(); 
        } 
        catch (Exception) 
        { 
        MessageBox.Show("This Image hasn't a text or has a problem", 
        "OCR Notifications", 
        MessageBoxButtons.OK, MessageBoxIcon.Information); 
        } 
        } 
        } 
    } 

誰でもこれで私を助けることができますか? その問題は Microsoft Office のバージョンに基づくものですか、それとも何か変更が必要ですか? それはより良いOCR dllですか?ありがとう ..

4

2 に答える 2

0

以下の設定でこの問題を解決しました。[プロジェクト プロパティ] -> [ビルド] タブ -> [プラットフォーム ターゲットをx86に変更] に移動します。

于 2016-06-18T05:53:02.597 に答える