如何读取msword文件以及图像,样式等整个文件?

时间:2014-08-27 07:03:35

标签: c# asp.net

我想阅读msword(.doc / .docx)文件的整个内容,其中包含图像,样式,使用c#在asp.net中记录所有内容。

我曾经写过以下代码,但工作正常。

//   Microsoft.Office.Interop.Word.ApplicationClass wordApp = new

Microsoft.Office.Interop.Word.ApplicationClass();
string filePath1 = @"G:\ABOUT.docx";
object file = filePath1;
object nullobj = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref file,
                 ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                 ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                                                                 ref nullobj);
Microsoft.Office.Interop.Word.Document doc1 = wordApp.ActiveDocument;
string m_Content = doc1.Content.Text;

txtbook.Text = m_Content;
doc.Close(ref nullobj, ref nullobj, ref nullobj);

但无法读取图像文件。

请帮助我想将整个数据库中的内容保存为html格式并以html格式检索。

2 个答案:

答案 0 :(得分:0)

注意:这可能不是您问题的直接原因,但需要提及它,评论时间太长。

您正在使用Office自动化从ASP.NET应用程序访问Word文档。 This is not officially supported by Microsoft

  

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。

所以,显然,问题的解决方案是

答案 1 :(得分:0)

  

doc1.Content.Text

您不能使用MS Word文档内容文本,因为它不是HTML格式。 (这需要在ASP.NET网页上显示图像和样式)

选项1

您可以使用Word Interop将文档转换为HTML并在文字中获取HTML标记(文本框不会在这里工作)

选项2

使用Google Doc查看器等内容查看Word文档。还有付费观看者,例如Aspose,您可以使用它来查看ASP.NET网站上的Word文档http://www.aspose.com/.net/word-component.aspx

在任何一种情况下,您都需要谷歌并获取有关方法的更多信息,并为您的ASP.NET网站实施