我想知道是否有任何Java API允许生成类似Apache FOP的Word文档。
使用FOP,可以指定定义打印数据(存储在xml文件中)的页面布局的样式表。
FOP库中的Transformer对象负责这项工作。
word文档有没有类似的API?
发布于 2014-08-08 19:46:25
使用FOP,您可以尝试Word接受的XML to RTF。
From their webpage, XMLmind XSL-FO Converter显然会生成:
Office
把FO放在一边,这里有两种不同的方法:
第一种方法是编写一个XSLT,将XML转换为平面OPC XML。平面OPC XML中的大多数部分都会被XSLT简单地复制到那里。(使用“另存为XML”在Word中生成该模板内容)。您将主要关注填充document.xml部件。Word可以打开平面OPC文件,或者您可以使用docx4j (我参与的一个项目)将平面OPC转换为docx。
第二种方法是使用docx4j Flying Saucer fork将XML + CSS转换为docx内容。请参阅code samples。您可能需要对其进行一些定制;给它提供CSS的一种方式是this file。这实际上应该工作得很好;有一些东西可以将类属性映射到Word样式,所以如果可以用类属性修饰XML,可以得到更好的结果。
发布于 2014-08-08 00:31:39
我将假设您的输入是一个XML文档,或者至少是一个CSV文件。
1)创建XSLT样式表,将输入转换为Word文档格式。结果将是一个我们将命名为content.xml的文件。您可以将样式表应用于来自Java的输入。
2)创建MS Word外壳,并将content.xml放入外壳中。Apache POI中有一些工具可以做到这一点。
我可能从字面上理解了你的问题。您还可以使用Apache POI API生成文档。此外,如果您的MS Word文档没有表格,您可以使用Apache FOP生成一个RTF文档,然后可以轻松地将其转换为.docx文件。
发布于 2014-08-08 00:31:49
Apache POI提供了用于读写Microsoft Excel、Word和PowerPoint文件的Java。
您可以查看POI的Javadoc here。
https://stackoverflow.com/questions/25187454
复制相似问题