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

Posted

技术标签:

【中文标题】是否有能够从 DOCX、XLSX 等 Office XML 文档生成 XSL-FO 的库?【英文标题】:Is there a library capable of generating XSL-FO from Office XML documents like DOCX, XLSX? 【发布时间】:2011-04-08 07:47:45 【问题描述】:

是否有人知道能够从 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 库,但可以考虑任何事情。

【问题讨论】:

您有没有找到从 docx4j 中获取 XSL-FO 的方法? 【参考方案1】:

docx4j 对此有支持,对于 docx;从 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 的内置导出。

【讨论】:

我知道 docx4j,但我不知道它能够生成 XSL-FO——所以它非常适合我,尤其是考虑到它在 Apache 许可证下可用!【参考方案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 引擎。

【讨论】:

谢谢。这些 RenderX 样式表看起来很有希望,但鉴于 docx4j 库的简单和零成本许可,很难选择 RenderX 而不是 docx4j。

以上是关于是否有能够从 DOCX、XLSX 等 Office XML 文档生成 XSL-FO 的库?的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Android中解析doc,docx,xls,xlsx格式文

.dbf,.sbn,.sbx,.shp,.shx.xlsx,.docx是啥文件,用啥软件打开?

IIS下不能下载文件的docx文档,XLSX文档的设置方法(转)

docx4j 将office文件转为pdf

安卓手机如何打开.xlsx;文件

在我的应用程序中打开(xlsx,ppt,pptx.docx)从 safari 或邮件不起作用