2012-08-24 171 views
3

您好我正在創建一個應用程序,它可以讀取pdf/doc/docx/xls/ppt等文件並將其顯示給用戶。我已閱讀,如果在doc中有一些圖像和表格,apache POI不能幫助因爲它不能爲table創建邊框。用aspose進行訪問並不是問題,但我應該有很強的理由使用aspose而不是開源的apache POI。Apache POI和Aspose?

任何人都可以建議我應該去哪一個? Apache POI和Aspose有哪些限制?

+1

您可能想要[Apache Tika](http://tika.apache.org/)而不是Apache POI - Tika通過使用多個不同的庫(包括POI)支持更廣泛的格式 – Gagravarr

回答

5

可以任何一個建議我哪一個我應該去? Apache POI和Aspose有哪些限制?

這是非常困難的,一般的問題,只能有很一般的答案。

每個軟件項目都有不同的要求和功能。對於每個項目來說,使用第三方組件的可行性很可能也不同。要在不同的第三方之間進行選擇是困難的,因爲你需要做更多或更少的

  • 要求評估(該產品符合您的要求或接近滿足)
  • 見有多好客戶的支持,前後產品購買
  • 第三方產品的功能比較
  • 找出產品的穩定程度。檢查他們發佈了多少個版本。新版本有錯誤修復,新功能?
  • 來自獨立源的任何獎勵
  • API和文檔的總體可用性
  • 許可條款
  • 成本和收益

對於閱讀Aspose使用Apache POI和其他候補的比較,見下面的鏈接:

總的來說,它很難找到流行的文件格式組件的限制和比較功能。爲什麼?由於MS Office和Adobe PDF都是非常陳舊,成熟和穩定的產品,因此您可以在這些文件中添加大量內容。

一個技巧是嘗試使用Aspose和Apache POI加載最複雜和最大的文件(pdf,doc,xls等)並加載。測試你的最壞情況。

PS。我是Aspose的開發者推廣者。

0

因此,針對特定問題評估兩個框架的最佳方法是根據您提到的具體問題(「無法爲表格創建邊框」來測試這些問題,方法是在Aspose 4 Slides中修復此問題。請參閱: http://www.aspose.com/community/forums/thread/320218/borders-are-not-shown-in-aspose.slides-2.6.0.aspx)。

只需獲得「Aspose Slides 4 Java」的演示許可證,即可下載最新版本併爲您的問題實施解決方案。在你的情況下,這隻需要幾行。

之後,你做POI相同(或提卡像加格拉瓦爾提到)。之後,你至少知道「Aspose slide 4 java」可以處理你的問題,然後你可以決定花錢在Aspose上或者免費獲得POI lib。

我們與「Aspose Sliedes 4 Java」合作3年了。有許多錯誤,但是當我們在論壇中發佈它們時,它們都是固定的。在購買Aspose之前,我們還使用POI完成了所有這些Powerpoint事物。我會說這兩個框架在功能,穩定性和可靠性方面幾乎是等價的。

Aspose唯一的缺點是你必須編寫你所有的東西兩次。一種用於舊PowerPoint格式(PP 97-2003)的特定代碼和一種用於新PPTX格式的特定代碼。這就是當你不需要編碼所有格式時真的會讓你緊張的事情。

+0

關於ppt ,我做了一個使用POI的小原型,現在想要檢查aspose,然後使用aspose開始原型,我檢查了這個https://asposeapachepoi.codeplex.com/wikipage?title=Aspose.Slides%20vs%20Apache%20POI%20SL ,只是出現aspose只是POI和Powerpoint的包裝。看起來像在POI上寫的一些實用程序。說啥?我根本沒有任何特別的需要使用aspose。您是否看到使用Powerpoint的POI進行aspose的優勢? – wallop

4

我們對這兩種工具進行了評估,並提出了一個評論,主要是關於Aspose.Words,因爲它對我們的需求更好。但是我們也寫了關於Apache POI的文章。我在此粘貼審查供您參考。

我們是一家開發在線文字處理器的公司。一個巨大的挑戰是將Microsoft Word DOC,DOCX和RTF內容轉換爲我們專有的數據模型,並將其轉換爲專有數據模型。由於瘦客戶端的限制和Microsoft Word文檔的複雜性,我們必須處理服務器端的轉換。

我們的服務器端技術是java/spring/hibernate。我們意識到,在處理DOC(X)處理的java空間中沒有太多的選項。我們只尋找成熟和成熟的產品。我們已經在公共領域評估了Apache POI。我們在Apache POI中發現的一個主要問題是,有許多看起來獨立的組件,我們必須使用兩個不同的組件來處理DOC和DOCX。處理DOCX的POI組件是相當新的,並沒有很多功能。就RTF而言,Apache POI根本不支持它。

瞭解Apache POI不適合我們的應用程序,我們檢查了Aspose.Words for java。事實上,就我們的搜索而言,它只是這個領域的商業產品。評價非常順利。我們爲Aspose庫輕鬆創建了一個Maven工件,並將該庫集成到我們的後端Web應用程序中。 根據我們的經驗,我們相信Java的Aspose.Words是這個領域的頂級產品,實際上遠優於其他任何解決方案。由於篇幅限制,我們只能從技術角度與您分享兩項對我們最有價值的主要功能。

首先,Aspose.Words使用一致,直觀且記錄良好的DOM模型作爲基礎文檔結構。這個DOM模型簡單明瞭,容易理解,並且非常有表現力和強大功能。這個DOM模型實際上與OOXML的DOM模型不同。我們更喜歡Aspose的DOM模型。它讓我們想起了JDOM和W3C XML模型之間的區別,其中JDom的模型更簡單,更直觀而且功能強大,足以應對業務應用程序所需的大多數操作。令我們驚訝的是,Aspose.Words支持的所有格式都使用單一DOM模型,包括但不限於DOC,DOCX和RTF。 Aspose的這種特殊設計/功能。單詞大大降低了我們的努力水平,因爲我們只需要開發一個代碼庫來處理我們應用程序當前需要的所有三種格式,以及將來可能需要的其他格式(如PostScript)。除了豐富的功能和API外,我們發現這種設計/架構成爲Aspose.Words的關鍵技術優勢。

其次,Aspose.Words能夠在打開/關閉往返行程中保留原始Word文檔中的所有OLE組件。即:讓Apose.Words將現有的Word文檔加載到內存中的DOM模型中,並立即將DOM模型導出回Word文檔。與原始版本相比,Aspose.Words將生成文檔的無損拷貝。此功能對我們的應用程序至關重要,並且沒有其他產品(商業或公共領域)聲稱提供該功能,據我們所知。

我們想共享兩個截圖來完成這個評論。 One screenshot(http://s26.postimg.org/lfc1skz8n/screenshot_rtf.jpg)是Aspose.Words爲我們生成的一個複雜表格。另一個(http://s26.postimg.org/5v4o21p47/screenshot_converted.jpg)是我們在線編輯器中顯示的一些內容(由Aspose.Words的Word文檔轉換而來)。

+0

這是一個很棒的評論,謝謝 –

0

如果您唯一的目的是導入和導出Excel/OO文件,請使用Apache POI。如果您需要處理文件,進程,顯示等,請使用Aspose。