6

如何在不执行此操作的情况下将 MS Word 文档(.doc 和 .docx)加载到内存(变量)?:

wordApp.Documents.Open

我不想打开 MS Word,我只想要里面的文字。

你给了我 DOCX 的答案,但是 DOCX 呢?我想要免费和高性能的解决方案——不要打开 12.000 个 Word 实例来处理所有这些实例。:( Aspose 是商业产品,900 美元对我的工作来说太贵了。

4

7 回答 7

4

您可以使用 Office 兼容包中的 wordconv.exe 将 doc 转换为 docx。

http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

只需像这样调用命令:“C:\Program Files\Microsoft Office\Office12\wordconv.exe”-oice -nme InputFile OutputFile

我不确定您是否需要安装 word 才能运行它,但它确实有效。我在本地将它用作 Windows shell 命令,以便随时将旧的 Office 文件转换为 2007 格式。

于 2008-11-30T08:53:54.907 回答
2

如果您正在处理 docx,您可以在不与 Word .docx 文件进行任何互操作的情况下执行此操作,实际上 ZIP 包含一个 XML 文件,您可以阅读 XML 请参阅以下链接

http://conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html

Office (2007) 打开 XML 文件格式

于 2008-10-18T22:04:23.607 回答
2

对于 docx 格式的 Word 文档,我在 CodeProject 上发现了这篇有趣的文章

使用 DocxToText 从 DOCX 文件中提取文本

在文章中,作者讨论了只删除单词本身。

对于您的 doc(非 docx)Word 文档,而不是使用 Office API 和(在后台)生成 Word 实例,您可以尝试使用市场上许多不同的 Doc2Docx 转换器之一,然后将上述过程应用于两个都。

于 2008-10-19T01:48:42.623 回答
1

我最近对这个话题做了一些研究。事实证明,要能够在不打开 word 本身的情况下以编程方式操作 word 文件,您需要一些非常昂贵的工具。

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

Neowin 论坛上的这篇文章看起来也很有希望。它包括很多用于文本提取的 PInvoked 调用。

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

于 2008-10-21T00:10:40.687 回答
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 组件。

于 2008-10-21T00:52:37.903 回答
0

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

这是代码(Node.JS)

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

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

于 2014-09-22T13:47:54.847 回答
-1

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

我使用 Word2X 或 AbiWord 从 Linux 服务器上的 Word 文档中提取数据,根据文档的数量和种类,提取时总会出现错误。项目符号、分页符、文档部分和其他“特殊”功能越多,情况就越糟糕。

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

于 2008-10-20T16:02:28.007 回答