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

wordApp.Documents.Open

我不想打开MS Word,我只想在里面找到那个文字。

你给了我DOCX的答案,但DOC怎么样?我想要免费和高性能的解决方案 - 不要打开12.000个Word实例来处理所有这些。 :( Aspose是商业产品,900美元对我所做的事情来说太过分了。

有帮助吗?

解决方案

您可以使用wordconv.exe作为Office兼容包的一部分,从doc转换为docx。

http:// www .microsoft.com /下载/ details.aspx FAMILYID = 941b3470-3ae9-4aee-8f43-c6bb74cd1466&安培; displaylang = EN

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

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

其他提示

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

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

在文章中,作者讨论了剥离单词本身。

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

如果您正在处理docx,您可以通过与Word进行任何互操作来完成此操作 .docx文件实际上是一个包含XML文件的ZIP,可以读取XML 请参考以下链接

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

Office(2007)Open XML File Formats

我最近对这个话题进行了一些研究。事实证明,为了能够以编程方式操作word文件而不打开单词本身,你需要一些非常昂贵的工具。

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

此帖在neowin论坛看起来也很有希望。它包含了很多用于文本提取的PInvoked调用。

也许如果你能找到隐藏窗口的方法,那就可以了。

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

  

Aspose.Words支持.NET和Java   应用程序的读取,修改和写入   字®没有利用的文件   Microsoft Word®。 Aspose.Words支持   各种功能,包括   文档创建,内容和   格式化操作,强大的邮件   合并能力,全面支持   DOC,OOXML,RTF,WordprocessingML,   HTML,OpenDocument和PDF格式。   Aspose.Words确实是最多的   价格实惠,速度快,功能丰富   市场上的Word组件。

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

这是代码(Node.JS)

<代码> DocxTemplater =要求( 'docxtemplater'); doc = new DocxTemplater()。loadFromFile(&quot; input.docx&quot;); 结果= doc.getFullText();

这只是三行代码,并不依赖于任何单词实例(所有普通JS)

我不是故意成为反对者,而是为什么?

我使用Word2X或AbiWord从Linux服务器上的Word文档中提取数据,并且根据文档的数量和种类,提取总是会出错。更多的子弹,分页符,文档部分和其他“特殊”部分更糟糕。有特色。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top