首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从Java生成word文档的xsl样式表

用于从Java生成word文档的xsl样式表
EN

Stack Overflow用户
提问于 2014-08-08 00:18:24
回答 3查看 1.7K关注 0票数 0

我想知道是否有任何Java API允许生成类似Apache FOP的Word文档。

使用FOP,可以指定定义打印数据(存储在xml文件中)的页面布局的样式表。

FOP库中的Transformer对象负责这项工作。

word文档有没有类似的API?

EN

回答 3

Stack Overflow用户

发布于 2014-08-08 19:46:25

使用FOP,您可以尝试Word接受的XML to RTF

From their webpage, XMLmind XSL-FO Converter显然会生成:

Office

  • RTF(可以在Word 2000+中打开)、

  • WordprocessingML (可以在inWord 2003+中打开)、

  • (.docx,可以在Word 2007+中打开)、

把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,可以得到更好的结果。

票数 1
EN

Stack Overflow用户

发布于 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文件。

票数 0
EN

Stack Overflow用户

发布于 2014-08-08 00:31:49

Apache POI提供了用于读写Microsoft Excel、Word和PowerPoint文件的Java。

您可以查看POI的Javadoc here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25187454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档