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 并将服务的应用程序池标识切换到 NetworkService 来解决此问题。我们之前使用的身份帐户具有更多限制性权限,因此即使安装了 MODI,也无法正确访问和加载。

于 2013-08-09T16:21:21.910 回答
0

我有同样的问题并设法解决它,我的情况如下:

我必须处理一个使用 MODI 的应用程序,但我的机器上没有安装 MS Office 2007,所以我决定下载它。因为我不想安装每个组件,所以我进行了自定义安装,只检查了 Microsoft Office Document Image 选项......之后我运行了应用程序并得到了与 OP 提到的相同的错误......在尝试完成所有方法之后上面提到的那个仍然没有解决我的问题。然后我尝试从我的电脑上运行 MODI,然后我意识到 OCR 丢失了。所以我回到安装程序并意识到我可以扩展 MODI 并且没有勾选 OCR 功能。勾选它并重新启动电脑为我解决了它。我知道这可能不是大多数人的问题,但它可能会拯救一些像我这样粗心的人。

于 2018-10-18T15:55:34.603 回答