我有一个生成xml的遗留软件,然后在docx4j的帮助下生成一个docx文档。我还必须使用java从xml文件创建一个microsoft doc文档。 我怎样才能做到这一点。我真的很感激任何帮助。 感谢
答案 0 :(得分:1)
查看poi。它几乎是使用Java修改Microsoft文档的事实标准。
答案 1 :(得分:1)
docx4j将POI作为依赖关系,POI对遗留二进制文档格式(hwpf)有合理的支持。因此,您可以使用它转换为doc而不引入其他依赖项。基本上,遍历您的内容,并以doc格式发出每个段落/表格/图像。那将是convert/in/Doc.java的反面。
然而,魔鬼是详细的,如果你的文档包含各种功能,那将是很多工作。这个断言代表你是在做docx4j到二进制doc(hwpf),还是POI自己的xwpf到hwpf,因为它们中的POI doesn't have a common interface。
因此,我没有使用POI,而是使用JODConverter驱动LibreOffice(或OpenOffice,他们的docx功能有点不同)将docx转换为传统二进制.doc。
JODConverter方法绝对是阻力最小的路径,通常会产生良好的效果。它的缺点是,如果你找到一些不正确支持的东西,你将不得不等待LO / OO人员修复它,如果你决定构建二进制doc输出,那就不是这种情况了。 docx4j使用POI。如果您确实构建了这个,我们很乐意接受它作为贡献: - )