是否有能够从DOCX,XLSX等Office XML文档生成XSL-FO的库?

时间:2011-04-08 07:47:46

标签: java ms-office openxml xsl-fo

是否有人知道能够从Microsoft Office Open XML文件生成XSL-FO的库,例如Word DOCX或Excel XLSX?

鉴于这些Office文件基本上是ZIP文件中的XML,我认为通过应用适当的XSLT转换从它们生成XSL-FO非常简单 - 尽管编写XSLT需要一些时间。但是,如果我怀疑这是一个简单的话,那么也许有人编写了一个可以执行此操作的库,或者发布了执行它的XSLT转换。

This Microsoft MSDN library article包含使用Word 2003 WordprocessingML文件创建XSL-FO的示例,但我还没有看到任何更新的Open XML格式。

有人有建议吗?最好使用Java库,但任何事情都会被考虑。

2 个答案:

答案 0 :(得分:2)

RenderX有一组publicly available stylesheets that convert WordML into XSL-FO

http://www.renderx.com/tools/word2fo.html

  

这些样式表是由   RenderX的开发团队和   微软一般用途。他们是   用来转换文件   微软的WordprocessingML XML   W3C中的词汇到文档中   XSL FO(XSLFO)词汇。这些   通用样式表生成XSL FO   (XSLFO)适用于RenderX XEP   发动机。

答案 1 :(得分:2)

对于docx,

docx4j 支持此操作;从v3.3.0开始,它位于一个单独的项目https://github.com/plutext/docx4j-export-FO

它使用XSLT创建XSL-FO。 XSLT使用Java扩展函数来调用docx4j方法来完成大部分工作,使XSLT本身保持相对简单。

docx4j使用FOP将XSL FO转换为PDF。

docx4j支持xlsx,但没有从XLSX到XSL FO的内置导出。