有cv上传的网络应用程序我想在上传过程中获取文本
我只有两种类型的简历(Word和PDF)
我正在使用 ITextsharp && Microsoft.Office.Interop.Word
它工作正常,但在服务器上无法正常工作
string Mainer(string pathfile)
{
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
string totaltext = "";
try
{
object miss = System.Reflection.Missing.Value;
// object truee = True;
object oTrue = false;
object path = pathfile;
object readOnly = true;
object pass = "";
Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, pass, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref oTrue, ref miss, ref miss, ref miss, ref miss);
for (int i = 0; i < docs.Paragraphs.Count; i++)
{
totaltext += " \r\n " + docs.Paragraphs[i + 1].Range.Text.ToString();
}
docs.Close();
word.Quit();
word = null;
docs = null;
GC.Collect();
return totaltext;
}
catch (Exception e)
{
//((_Document)word).Close();
//((_Application)word).Quit();
word.Quit();
word = null;
//ererorcount = ererorcount + 1;
//listerrors.Add(pathfile);
return totaltext;
// return ererorcount.ToString();
}
}
错误是
错误:使用CLSID检索组件的COM类工厂 {000209FF-0000-0000-C000-000000000046}由于以下原因而失败 错误:80070005访问被拒绝。 (HRESULT的例外情况:0x80070005 (E_ACCESSDENIED))。
答案 0 :(得分:1)
Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行Office时,可能会出现不稳定的行为和/或死锁。
如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。请在Considerations for server-side Automation of Office文章中详细了解相关内容。
您可以考虑使用Open XML SDK或为服务器端执行而设计的任何其他第三方组件。有关详细信息,请参阅Welcome to the Open XML SDK 2.5 for Office。