C# 使用MODI时出现OCR错误-Sharepoint 2007
我的机器已安装Office 2010。C# 使用MODI时出现OCR错误-Sharepoint 2007,c#,ocr,modi,C#,Ocr,Modi,我的机器已安装Office 2010。 我下载了用于OCR的Sharepoint 2007 MODI。 我正在使用VS2012 我收到以下错误消息: ImageOCR_Modi.exe中发生类型为“System.Runtime.InteropServices.COMException”的未处理异常 以下是一个屏幕截图: 我知道Office2010删除了MODI功能,所以没有微软的支持。所以不能与Office2010一起使用吗 代码: 我已经用主要问题更新了代码。欢迎使用堆栈溢出!我已经编辑了您
我下载了用于OCR的Sharepoint 2007 MODI。 我正在使用VS2012 我收到以下错误消息: ImageOCR_Modi.exe中发生类型为“System.Runtime.InteropServices.COMException”的未处理异常 以下是一个屏幕截图: 我知道Office2010删除了MODI功能,所以没有微软的支持。所以不能与Office2010一起使用吗 代码:
我已经用主要问题更新了代码。欢迎使用堆栈溢出!我已经编辑了您的问题-最值得注意的是,我添加了错误消息。这使得问题描述更加清晰,如果人们搜索这个特定的错误消息,这会有所帮助。考虑捕获异常并将其存储在某个地方。顺便说一下,不要像代码的最后一部分那样“吃”异常;以这种方式让异常消失可能会导致关键调试信息丢失。同时,祝你好运解决这个问题!我已经用主要问题更新了代码。欢迎使用堆栈溢出!我已经编辑了您的问题-最值得注意的是,我添加了错误消息。这使得问题描述更加清晰,如果人们搜索这个特定的错误消息,这会有所帮助。考虑捕获异常并将其存储在某个地方。顺便说一下,不要像代码的最后一部分那样“吃”异常;以这种方式让异常消失可能会导致关键调试信息丢失。同时,祝你好运解决这个问题!
public string CheckFileAndDoOCR(string directoryPath)
{
string TheTxt = "";
IEnumerator files = Directory.GetFiles(directoryPath).GetEnumerator();
while (files.MoveNext())
{
// FileInfo
FileInfo sudhir = new FileInfo(Convert.ToString(files.Current));
// Check for JPG File Format
if (sudhir.Extension == ".jpg" || foo.Extension == ".JPG")
// or // ImageFormat.Jpeg.ToString()
{
// Start OCR Procedure
TheTxt = DoOCRExact(sudhir.FullName);
// Create TXT file next to ImageFile
string txtFileName = sudhir.DirectoryName + "\\" + sudhir.Name.Replace(sudhir.Extension, "") + ".txt";
FileStream createFile = new FileStream(txtFileName, FileMode.OpenOrCreate);
// Save the text in to TXT file
StreamWriter writeFile = new StreamWriter(createFile);
writeFile.Write(TheTxt);
// Close
writeFile.Close();
createFile.Close();
}
try
{ foo.Delete(); }
catch (Exception ex)
{
}
}
return TheTxt;
}
public string DoOCRExact(string FullPath)
{
string txt;
// OCR Operations...
MODI.Document md = new MODI.Document(); // Create MODI.Document
md.Create(FullPath); // Fill MODI.Document with my file
md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true); // OCR();
// Image from file
MODI.Image image = (MODI.Image)md.Images[0];
txt = image.Layout.Text;
MODI.Word word = image.Layout.Words[0];
// Close OCR
word = null;
image = null;
md.Close(false);
md = null;
// Finalize
GC.Collect();
GC.WaitForPendingFinalizers();
// Return Text
return txt;
}