0

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

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

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

使用 OOo java API,我可以打开、操作和保存文档,但是,在最后一段时期,我看到了很多关于 Ms Word 封闭编码和 OOo 开放文档格式编码之间的编码不兼容的问题(我参考给编剧)。在许多情况下,带有特定项目符号的列表(例如,'-' 或嵌套列表)、页码(例如,x 格式的 1)和许多其他格式选项,输出文档(来自操作)显示许多错误,原因是:我认为,这两种编码格式不兼容。

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

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

4

2 回答 2

1

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

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

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

编辑

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

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

于 2009-11-27T16:49:11.990 回答
0

Docvert允许您设置 Web 服务以将 Word 文档转换为 Open Office 格式。它虽然对 OLE 对象产生了影响。

于 2010-04-12T04:39:04.433 回答