我已configuration索引服务来索引我的文件,其中还包括保存为高分辨率TIFF文件的扫描图像。 我还安装了MS Office 2003+并正确configuration了MS Office Document Imaging(MODI),这样我就可以在图像上执行OCR,甚至可以将OCR文本embedded到TIFF中。 索引服务能够索引并查找手动OCR并重新保存文本数据的TIFF(使用MS Document Imaging工具)。 事实certificate,在Windows XP SP2中部署的数据执行保护(DEP)认为MODI是恶意的,拒绝让它发挥作用。 我已经能够通过完全closuresDEP来实现它,但是我发现这个解决scheme是不够的。 有没有更好的解决scheme,使其工作,而不禁用DEP?
我在.net应用程序中使用COM对象(MODI)。 我调用的方法抛出一个System.AccessViolationException,它被Visual Studio拦截。 奇怪的是,我已经把我的调用包装在一个try catch中,它有处理AccessViolationException,COMException和其他所有东西,但是当Visual Studio(2010)拦截AccessViolationException时,debugging器中断了方法调用(doc.OCR)如果我经过,它会继续到下一行,而不是进入catch块。 此外,如果我运行在Visual Studio以外,我的应用程序崩溃。 我怎样才能处理这个COM对象中引发的exception? MODI.Document doc = new MODI.Document(); try { doc.Create(sFileName); try { doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, false, false); sText = doc.Images[0].Layout.Text; } catch (System.AccessViolationException ex) { //MODI seems to get access violations for some reason, but is still able to return the OCR text. sText = doc.Images[0].Layout.Text; } catch (System.Runtime.InteropServices.COMException ex) […]