1

プロジェクトで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

1 に答える 1

1

エラーの原因は、Microsoft Office Document Imaging(MODI) が MS Office 2010 で廃止されたためです。これは、Office 2013 の OneNote と連携しています。

私はまだ解決策を探しているか、プログラムで画像からテキストを抽出する他のツールがあるかどうかを調べています。ご存知の方、解決策があれば教えてください。

于 2013-11-19T08:59:14.417 に答える