MS Word文档到RTF文档

时间:2009-11-27 16:32:46

标签: java ms-word rtf documents

我遇到了一个问题:我的应用程序必须将ms word文档(从另一个系统导入)转换为rtf文档,以便使用OOo API进行操作并避免错误(出于编码不兼容的原因)。

我问你:如何直接从我的Java应用程序操作ms word文档?有些API(如POI或OOo)允许我在没有任何编码不兼容的情况下完成我的工作吗?

我的系统在Linux服务器计算机上运行(例如所有公共生产系统),我只安装了OOo。

使用OOo java API我可以打开,操作和保存文档,但是,在最后一段时间里,我正在查看很多关于Ms Word封闭编码和OOo opend文档格式编码之间编码不兼容的问题(我指的是swriter)。 在许多情况下,列出具有特定项目符号(例如,' - '或嵌套列表),页码编号(例如,x格式中的1),以及许多其他格式化选项,输出文档(来自操作)显示许多错误,由于,我认为,两种编码格式之间不兼容。

现在,我正在研究Apache POI功能,以便了解我是否可以用它打开Ms Word,并以RTF格式保存文档,并且交换格式能够将不兼容性降低到最低级别。

你有同样的问题吗?你能告诉我一个Java开源库更有能力的POI吗?或者,您能否建议我使用POI + iText等组合方法将ms字转换为rtf?

2 个答案:

答案 0 :(得分:1)

当我被要求提供一种可靠地将文档转换为tiff的方法时,我做了一些研究。有许多库 - 免费和商业,声称能够呈现ms.docs。它们都没有提供100%准确的渲染。

我必须这样做的方法是在包装器中运行MS Word并操纵它以通过OLE自动化执行我需要的操作。这个(在后台运行Word)本身已经安静了一些问题,但是通过周到的设计,你可以使它工作。

您的案例比我的更容易,因为您只需打开文档然后将其保存为。

修改

@Paolo - 你走了。我经历了同样的事情 - 评估各种包装,包括OO并发现它们是mmmm ......不够精确。当然,这完全取决于客户对文档格式的严格程度。我非常挑剔 - 最大限度的边距和图片定位。

另一种选择是给予(并获得批准)一份不精确的清单。不幸的是,对于每一个新的文档,您都有机会获得新的文档

答案 1 :(得分:0)

Docvert允许您设置Web服务以将Word文档转换为Open Office格式。它虽然在OLE对象上疯狂。