8

我正在寻找一种在不使用 ole 自动化的情况下以编程方式将 docx 格式的 word 文档转换为 doc 格式的方法。我已经有一个可以执行此操作的 Windows 服务,但这意味着在服务器上安装 Office,它有点不可靠且不受支持。我知道 aspose.words 产品,我会尝试一下,但是有没有人建议如何尽可能简单、可靠和便宜地做到这一点?

4

2 回答 2

13

不使用 OLE 自动化的一种选择是包装兼容包附带的转换器 dll,以便在不自动化 Office 的情况下从 docx 转换为 doc。

这只需要在机器上安装 Office 的兼容包。

Office 转换器 dll 使用接口 ForeignToRtf/RtfToForeign 从它们支持的文档格式转换为 RTF 和/或从 RTF 转换为其文档格式。您可以根据需要链接转换器,从一种格式转换为另一种格式,例如进行转换 DOCX -> RTF -> DOC。

您可以从 Microsoft 获取 SDK,其中包含一些关于如何使用现有转换器的示例。如果我没记错的话,已经包含了一个命令行包装示例。一切都是 C/C++ 的东西。

您可以通过查看以下注册表项找出哪些转换器 dll 负责 OpenXML 转换:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\Word12  

如果您需要更多详细信息,请告诉我。

于 2008-11-26T14:25:57.170 回答
0

You could use docx4j (or indeed, just poi) to read the docx, and poi to write it out as a .doc

于 2009-03-27T02:06:31.507 回答