您可以使用Office兼容性包中的wordconv.exe将doc转换为docx。
只需像这样调用命令: "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme 源文件 目标文件
我不确定是否需要安装Word才能运行它,但它确实有效。每当我想将旧的Office文件转换为2007格式时,我都会在本地使用它作为Windows Shell命令。
我最近对这个主题进行了一些研究。结果发现,要能够在不打开Word本身的情况下以编程方式操作Word文件,您需要一些非常昂贵的工具。
在Code Project上有一篇关于操作Word的文章,您可能会发现它很有用。作者构建了一个C# COM包装器来处理对Word的调用。不过看起来它实际上会弹出Word应用程序。
Neowin论坛上的这篇帖子也很有前途。它包括相当多的PInvoked调用,用于文本提取。
也许如果您能找到一种保持窗口隐藏的方法,那就可以接受。
使用 docxtemplater,您可以轻松获取单词的全文(仅适用于docx)。
以下是代码(Node.JS)
DocxTemplater=require('docxtemplater');
doc=new DocxTemplater().loadFromFile("input.docx");
result=doc.getFullText();
这只是三行代码,不依赖于任何单词实例(全部为纯JS)
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组件。
我不是要成为反对者,但为什么呢?
我曾经使用Word2X或AbiWord从Linux服务器上提取Word文档中的数据,但根据文档数量和种类,提取过程总会出现错误。如果文档中有更多的项目符号、分页符、文档节和其他“特殊”功能,则情况会更糟。
我知道现在有一些选项可以自动化OpenOffice来处理文档,但我的建议是,如果可以的话,最好使用Word来处理Word文档。