Apache POI api和Apache Tika Api之间的区别?

时间:2013-09-19 06:47:18

标签: java apache-poi apache-tika

我要求从Excel / CSV文件中提取特定的列/行。有人建议我使用Tika完成这项任务。

在通过tika时,我遇到了POI API并发现使用它更友好。

我们可能需要进一步解析PDF文件。

我是这项技术的新手,我想知道两者之间的区别,哪种技术更适合我的要求。

谢谢, 克里希纳

2 个答案:

答案 0 :(得分:13)

Apache Tika提供了一种从各种格式中提取一致文本和元数据的常用方法。它还提供内容检测,语言检测和其他一些功能。如果您编写代码以使用Apache Tika,那么您的代码将能够以相同的方式使用huge range of formats。您不必担心一种格式是否具有标题,或者另一种格式是LongTitle还是主题。您无需担心要使用哪种库以何种格式。你打电话给Tika,它为你做了很多努力,然后回到你的一致元数据和文本内容

Apache POI是Tika使用的库之一。 POI支持大多数主要的Microsoft Office格式,包括Excel(.xls和.xlsx)。它提供对整个文件格式的访问,允许您完全控制您读出的信息。 (它也支持写作)。 Tika使用POI从各种不同的Microsoft格式中获取文本和元数据,但不提取所有内容。直接使用POI将允许您决定您关心的内容并获得它。

如果您想支持大量文件格式,请使用Tika。如果您想完全控制如何获取信息,请使用POI。

答案 1 :(得分:0)

Apache POI是大多数Microsoft文档的完整解析器/编写器。它支持新引入的2007(XSSF)格式和Microsoft 2003文件格式(HSSF)。 Apache POI提供两级API来解析和生成Microsoft文件。一个是更高级别的API,它是位内存密集型的,它读取整个文件并在内存中保留类似于XML解析的XML和较低级别的API,用于内存密集型使用,类似于SAX / StAX解析。

另一方面,Apache Tika是内容分析工具,我想它只支持Microsoft Excel和许多其他提取组件。不支持编写新文件或从Tika生成内容,无论如何这根本不是他们的用例。

因此,您必须根据需要选择。