0

我有一个旧版软件,它生成一个 xml,然后在 docx4j 的帮助下生成一个 docx 文档。我还必须使用 java 从 xml 文件创建一个 microsoft doc 文档。我怎样才能做到这一点。我真的很感激任何帮助。谢谢

4

2 回答 2

1

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

于 2013-05-21T15:28:56.150 回答
1

docx4j 将 POI 作为依赖项,POI 对传统的二进制 doc 格式 (hwpf) 有合理的支持。因此,您可以使用它来转换为 doc,而无需引入额外的依赖项。基本上,遍历您的内容,并以 doc 格式发出每个段落/表格/图像。这将与convert/in/Doc.java 相反

但是,魔鬼在细节中,如果您的文档包含多种功能,那将是很多工作。这个断言代表你是在做 docx4j 到二进制 doc (hwpf),还是 POI 自己的 xwpf 到 hwpf,因为 POI在它们两者之间没有通用接口

因此,我不会为此使用 POI,而是使用 JODConverter 来驱动 LibreOffice(或 OpenOffice,它们的 docx 功能有点不同)将 docx 转换为旧的二进制 .doc。

JODConverter 方法绝对是阻力最小的路径,并且通常会产生良好的结果。它的缺点是,如果您发现某些东西没有得到正确支持,您将不得不等待 LO/OO 人员修复它,如果您确实决定构建二进制文档输出,则情况并非如此docx4j 使用 POI。如果您确实构建了这个,我们很乐意接受它作为贡献:-)

于 2013-05-24T21:44:31.980 回答