2010-07-14 52 views
2

對於我正在處理的項目,我需要將WordML流轉換爲Word 2002兼容的.doc格式(不要問爲什麼 - 但相當大一部分用戶仍在使用Word 2002直到2010年第四季度才升級到最新版本)。我試圖研究很多選擇,並且大部分都是死路一條。用於WordML到Word2002轉換的Java庫

我的用例是存在一個基於Java的Web服務(在Tomcat下的Solaris上運行),該服務根據用戶請求調用第三方服務。此3rdParty服務將返回pdf文檔和WordML文檔。然後,我們需要將Word ML文檔轉換爲Word 2002格式,並且我們的Web服務更新頁面以鏈接到可以由Web服務的用戶隨後打開的pdf & word 2002文檔。

Aspose.Words for Java是我最好的選擇,但它也返回UnsupportedDocumentFormat WordML異常。首先,我認爲它可能是我的文檔,但所有其他文檔都失敗了,然後跟進Aspose顯示,儘管有文檔說明,但當前版本不支持Java中的WordML(http://www.aspose.com/community/forums/248442/wordml-support/showthread.aspx#248442

我已經走了寫.Net (a)我的服務[現有]在Solaris Box上運行(b)由於多線程性能較差,MS不推薦以這種方式實現字自動化(c)使用Aspose.Words - 但是這意味着顯着的硬件成本+ .Net許可證等。

我探索了爲WordML-> RTF轉換找到這種可能性的可能性,但沒有找到適合的庫。除了WordML會包含一些我們還不知道的巨大圖表在RTF中支持並且我們無法找到任何一個,因爲在安裝Word 2002的時刻只有WordML可用。

所以,它涉及到: 是否有除Aspose.Words for Java之外的任何庫可用於執行WordML-> Word2002 [或rtf]轉換,它不依賴於Windows主機做任何事情(僅留下實際的MS Word安裝)。

道歉的長問題,但我真的無法弄清楚任何選項。任何幫助/建議/指向合適的庫將非常有用。付費圖書館可能沒問題,只要我們可以選擇先試用它來向項目發起人提供案例。

回答

1

您可以用Apache POI來完成您的需求。它有助於開發人員閱讀和編寫Microsoft OLE 2 Compound Document。但它doesn't read or write RTF Documents。您可以read from WordMLwrite as Word 2002 format。試一試...

0

docx4j可以讀取2007 WordML。你可以嘗試用它來編寫RTF,通過FOP或iText(我自己沒有嘗試過)。