2012-08-24 145 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。