2011-04-08 78 views
3

有誰知道能夠從Microsoft Office Open XML文件(如Word DOCX或Excel XLSX)生成XSL-FO的庫嗎?是否有能夠從Office XML文檔(如DOCX,XLSX)生成XSL-FO的庫?

鑑於這些Office文件基本上都是ZIP文件中的XML文件,我認爲通過應用適當的XSLT轉換來生成XSL-FO非常簡單 - 儘管編寫XSLT需要一些時間。但是,如果我懷疑這是一個直截了當的話,那麼也許有人編寫了一個庫來實現它,或者發佈了XSLT轉換。

This Microsoft MSDN library article包含一個使用Word 2003 WordprocessingML文件創建XSL-FO的示例,但對於較新的Open XML格式我沒有看到任何內容。

有沒有人有建議? Java庫會更好,但任何事情都會被考慮。

+0

你有沒有找到一種方法讓XSL-FO脫離docx4j? – Marcin 2012-01-24 14:24:33

回答

2

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。

+0

我知道關於docx4j,但我不知道它能夠生成XSL-FO - 所以它很適合我,尤其是考慮到它在Apache許可下可用! – gutch 2011-06-24 00:41:45

2

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

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

通過 RenderX的開發團隊和 微軟用於一般用途製備這些樣式表。它們是 ,用於將 中的文檔轉換爲W3C的 XSL FO(XSLFO)詞彙表中的文檔的Microsoft Word處理XML XML 詞彙表。這些通用樣式表產生XSL FO (XSLFO),適用於RenderX XEP 引擎。

+0

謝謝。這些RenderX樣式表看起來很有前途,但考慮到docx4j庫的簡單且零成本的許可,很難在docx4j上選擇RenderX。 – gutch 2011-06-24 00:44:47