当前位置: 首页 > 编程语言 > C#

在不启动MSWord的情况下读取.doc文件分享

时间:2023-04-10 16:32:34 C#

C#学习教程:在不启动MSWord的情况下阅读.doc文件但是,如果不启动MSWord,我找不到任何方法来执行此操作。现在我有以下代码:Microsoft.Office.Interop.Word.Applicationapp=newMicrosoft.Office.Interop.Word.Application();objectnullObject=System.Reflection.Missing.Value;objectfile=@"C:doc.doc";Microsoft.Office.Interop.Word.Documentdoc=app.Documents.Open(参考文件,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,参考空对象,refnullObject,refnullObject,refnullObject,refnullObject,refnullObject);doc.ActiveWindow.Selection.WholeStory();doc.ActiveWindow.Selection.Copy();IDataObject数据=Clipboard.GetDataObject();字符串文本=data.GetData(DataFormats.Text).ToString();doc.Close(refnullObject,refnullObject,refnullObject);app.Quit(refnullObject,refnullObject,refnullObject);但它会启动MSWord,任何解决方案程序都无法启动吗?两种可能性:使用Microsoft的规范为.doc格式编写您自己的解析器,或者使用现有的库(例如来自Aspose)。除非你有几年的时间致力于这项任务,否则后者显然是正确的选择。上次我这样做(通过C++中的COM)时,我想起了应用程序界面中的“Visible”属性(true=visible)。但是,在我看来,默认值是false,因此您必须将其设置为true才能显示Word。无论用户是否可以看到Word,您仍然可以在任务管理器中看到winword.exe(或今天的名称)。我不认为有一种方法可以在不启动Word的情况下通过此界面访问Word(无论是否在幕后)。如果您根本不想启动Word,您可能需要寻找其他解决方案。使用“添加引用”->“浏览”->“Code7248.word_reader.dll”添加命名空间从给定的URL下载DLL:sourceforge.net/p/word-reader/wiki/Home(一个简单的.NET库,兼容使用C++中的.NET2.0、3.0、3.5和4.0。它目前只能从.doc或.docx文件中提取原始文本。)示例代码位于C#的简单控制台中:usingSystem;使用系统.Collections.Generic;使用系统文本;//使用Code7248.word_reader添加额外的命名空间;namespacetestWordRead{classProgram{privatevoidreadFileContent(stringpath){TextExtractorextractor=newTextExtractor(path);字符串文本=extractor.ExtractText();控制台.WriteLine(文本);}staticvoidMain(string[]args){Programcs=newProgram();stringpath="D:Testtestdoc1.docx";cs.readFileContent(路径);控制台.ReadLine();}}}它工作正常。以上就是C#学习教程:无需启动MSWord即可阅读.doc文件分享的全部内容。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: