【问题标题】:MODI OCR error When Using Microsoft Office 2013 in C#在 C# 中使用 Microsoft Office 2013 时出现 MODI OCR 错误
【发布时间】:2013-08-29 10:57:16
【问题描述】:

我计划在我的项目中使用 OCR,并搜索了更多的 OCR 方法,但我没有找到任何正确的方法。最后我听说了 MODI 并尝试了。但它抛出以下错误:

由于以下错误,检索具有 CLSID {40942A6C-1520-4132-BDF8-BDC1F71F547B} 的组件的 COM 类工厂失败:80040154

我正在使用Microsoft Office 2013visual 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 吗? 谢谢..

【问题讨论】:

    标签: c# ms-office ocr modi


    【解决方案1】:

    我认为要使用 MODI,图像必须是 .tiff 格式或 Microsoft 专有的 .modi 格式。根据您的代码,您似乎正在尝试转换 jpg。

    查看此链接以获取 VB.NET 中将 TIFF 转换为 JPEG 和反之亦然的示例。

    http://code.msdn.microsoft.com/windowsdesktop/VBTiffImageConverter-f8fdfd7f

    【讨论】:

    • 感谢您的回答,但这个问题取决于我的 Visual Studio 和 os 的版本。它在 Visual Studio 2008 中运行良好,但在 vs2012 中我们必须进行一些更改
    • 嗨 xpertgun,你能写下我在 vs2012 中要做的改变吗?我也有同样的问题。
    【解决方案2】:

    我已经解决了这个问题,改变下面的设置 转到项目属性 -> 内置选项卡 -> 将平台目标更改为 x86

    【讨论】:

      猜你喜欢
      • 2012-06-17
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多