2

对于我正在处理的项目,我需要将 WordML 流转换为与 Word 2002 兼容的 .doc 格式(不要问为什么 - 但相当多的用户仍在使用 Word 2002,升级到最新版本直到 2010 年第四季度才可行)。我试图研究很多选择,但大多都遇到了死胡同。

我的用例是有一个现有的基于 Java 的 Web 服务(在 Tomcat 下的 Solaris 上运行),它根据用户的请求调用第三方服务。此 3rdParty 服务将返回一个 pdf 文档和一个 WordML 文档。然后,我们需要将 Word ML 文档转换为 Word 2002 格式,并且我们的 Web 服务会更新页面以链接到 pdf 和 word 2002 文档,然后 Web 服务的用户可以打开这些文档。

Aspose.Words for Java 是我最好的选择,但它也返回UnsupportedDocumentFormat了 WordML 的异常。首先,我认为这可能是我的文档,但所有其他文档也都失败了,然后跟进 Aspose 显示,尽管有文档,当前版本不支持 Java 中的 WordML(http://www.aspose.com/community/forums/248442/ wordml 支持/showthread.aspx#248442

我本来会写.Net服务来进行转换-但那里也有一些问题-(a)我的服务[现有]在Solaris Box上运行(b)MS不建议在此使用单词自动化由于多线程性能不佳(c)使用 Aspose.Words for .Net - 但这意味着大量的硬件成本 + .Net 许可证等。

我探索了为 WordML->RTF 转换找到这种可能性的可能性,但也没有找到合适的库。除了 WordML 将包含一些我们还不知道 RTF 支持的大量图表这一事实之外,我们也无法找到,因为目前只有 WordML 可供我们使用 Word 2002 安装。

因此,它涉及到:除了 Aspose.Words for Java 之外,是否有任何库可用于执行 WordML->Word2002 [或 rtf] 转换,它不依赖于 Windows 主机执行任何操作(不考虑实际的 MS Word 安装)。

抱歉,问题很长,但我真的无法找出任何选择。任何指向合适库的帮助/建议/指针都将非常有用。付费图书馆可能没问题,只要我们可以选择提前试用以向项目发起人说明情况。

4

2 回答 2

1

您可以使用Apache POI来满足您的需求。方便开发者读写Microsoft OLE 2 Compound Documents。但它doesn't read or write RTF Documents。你可以read from WordMLwrite as Word 2002 format。试试看...

于 2010-07-14T12:39:58.030 回答
0

docx4j 可以阅读 2007 WordML。您可以尝试通过 FOP 或 iText 使用它编写 RTF(我自己没有尝试过)。

于 2010-10-19T01:13:29.520 回答