2013-05-21 106 views
0

我有一个遗留软件,它会生成一个xml,然后在docx4j的帮助下生成一个docx文档。我还必须使用java从xml文件创建一个microsoft doc文档。 我该怎么做。我非常感谢任何帮助。 谢谢将docx转换为带有java的doc

回答

1

调查poi。这几乎是使用Java修改Microsoft文档的事实标准。

1

docx4j将POI作为依赖项,并且POI对传统二进制doc格式(hwpf)有合理的支持。所以你可以使用它来转换为文档,而不会引入额外的依赖关系。基本上,遍历你的内容,并以doc格式发送每个段落/表格/图像。这将是convert/in/Doc.java的反面。

然而,魔鬼是在细节,如果你的文件包含各种功能,这将是很多工作。这个断言表示您是否将docx4j转换为二进制文档(hwpf),或将POI自己的xwpf转换为hwpf,因为它们之间的POI doesn't have a common interface

因此,为了将docx转换为旧版二进制文件,我将使用JODConverter来驱动LibreOffice(或OpenOffice,它们的docx功能有点不同)。

JODConverter方法绝对是阻力最小的路径,通常会给出好的结果。它的缺点是,如果你发现一些不被支持的东西,你将不得不等待LO/OO的人来修复它,如果你决定构建二进制文档输出为docx4j使用POI。如果你确实建立了这个,我们很乐意接受它作为贡献:-)