【问题标题】:MS Word documents to RTF documentsMS Word 文档到 RTF 文档
【发布时间】:2010-12-21 01:07:23
【问题描述】:

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

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

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

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

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

你有同样的问题吗?你能告诉我一个更强大的 POI 的 Java 开源库吗?或者,您能否建议我使用 POI+iText 之类的组合方法来执行 ms word 到 rtf 的转换步骤?

【问题讨论】:

    标签: java ms-word rtf documents


    【解决方案1】:

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

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

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

    编辑

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

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

    【讨论】:

    • 谢谢,但是,正如我在之前的回答中所说,在 Linux 服务器上我没有安装 Ms Office,因此我正在研究一个 Java 库,它允许我以编程方式转换 Ms Word 文档在 RTF 中,以便在与 OOo API 接口的兼容模式下处理最后一种类型。谢谢你的回答。最好的问候,-Paolo P.S.:有人知道这样的 Java 库(即更强大的 POI)吗?
    【解决方案2】:

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

    【讨论】:

    • 您好,首先感谢您的回复!我需要一套 Java API,它可以让我自动化处理 MS Word 文档的过程。此时,作为替代解决方案,我们获得了 PDF 版本的文档并使用 iText 及其水印功能;但是,正如您所理解的,这是一个非常有限的解决方案。问候, - 保罗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2010-10-12
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2010-11-12
    相关资源
    最近更新 更多