如何在C# (.NET)中加载MS Word文档的文本?

6
如何将MS Word文档(.doc和.docx)加载到内存(变量)中,而不使用以下方法:wordApp.Documents.Open。我不想打开MS Word,我只想获取其中的文本。你给了我DOCX的答案,但是DOC呢?我需要一个免费且高效的解决方案-不要打开12000个Word实例来处理所有文档。:( Aspose是商业产品,对于我的需求来说900美元太贵了。
7个回答

4

2

2
针对 docx 格式的 Word 文档,我在 The CodeProject 网站上找到了一篇有趣的文章。
文章链接:使用 DocxToText 从 DOCX 文件中提取文本 在这篇文章中,作者讨论了如何仅提取单词本身的方法。
对于你的 doc (非 docx) Word 文档,除了使用 Office API 并在后台生成 Word 实例之外,你可以尝试使用市场上众多不同的 Doc2Docx 转换器之一,然后为两者应用上述过程。

有没有免费的doc转docx解决方案? - Skuta

1

我最近对这个主题进行了一些研究。结果发现,要能够在不打开Word本身的情况下以编程方式操作Word文件,您需要一些非常昂贵的工具。

Code Project上有一篇关于操作Word的文章,您可能会发现它很有用。作者构建了一个C# COM包装器来处理对Word的调用。不过看起来它实际上会弹出Word应用程序。

Neowin论坛上的这篇帖子也很有前途。它包括相当多的PInvoked调用,用于文本提取。

也许如果您能找到一种保持窗口隐藏的方法,那就可以接受。


0

使用 docxtemplater,您可以轻松获取单词的全文(仅适用于docx)。

以下是代码(Node.JS)

DocxTemplater=require('docxtemplater'); doc=new DocxTemplater().loadFromFile("input.docx"); result=doc.getFullText();

这只是三行代码,不依赖于任何单词实例(全部为纯JS)


0

Aspose拥有一个组件,可以读取、修改和编写Word文档。 以下是产品链接:Aspose.Words for .NET and Java

Aspose.Words使.NET和Java应用程序能够在不使用Microsoft Word的情况下读取、修改和编写Word®文档。Aspose.Words支持广泛的功能,包括文档创建、内容和格式操作、强大的邮件合并功能、全面支持DOC、OOXML、RTF、WordprocessingML、HTML、OpenDocument和PDF格式。Aspose.Words真正是市场上最实惠、最快速、功能最丰富的Word组件。


免费库 -> Aspose:899美元 - Skuta

-1

我不是要成为反对者,但为什么呢?

我曾经使用Word2X或AbiWord从Linux服务器上提取Word文档中的数据,但根据文档数量和种类,提取过程总会出现错误。如果文档中有更多的项目符号、分页符、文档节和其他“特殊”功能,则情况会更糟。

我知道现在有一些选项可以自动化OpenOffice来处理文档,但我的建议是,如果可以的话,最好使用Word来处理Word文档。


如果我每天想处理12,000个单词文档.. 猜猜为什么我不想打开12000个Word实例.. - Skuta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接