开源 Java 文本解析器

Posted

技术标签:

【中文标题】开源 Java 文本解析器【英文标题】:Open Source Java Text Parsers 【发布时间】:2011-06-22 17:48:11 【问题描述】:

是否有一个单一 Java 文本解析器也可用于解析 Office(Windows)文档、OpenOffice 文档和 PDF?否则我是否需要为 Word 文档使用 Apache POI 以及为 OpenOffice 和 PDF 使用其他库?如果是,那么 OpenOffice 和 PDF 的最佳选择是什么?

【问题讨论】:

【参考方案1】:

Apache Tika:

Apache Tika™ 工具包检测并 提取元数据和结构化文本 来自各种文档的内容使用 现有的解析器库。

不确定这是否符合您的目的“单身”。

【讨论】:

提取元数据是什么意思?这与从文档中提取文本正文是否相同?除此之外,这看起来不错。 +1。我用过。它似乎完成了这项工作。稍有不足​​的是,由于它使用了许多现有的库,因此需要一堆 jar。【参考方案2】:

如果任务是阅读 PDF 文档,iText 是您的最佳选择。 对于基于 Microsoft Office 和 OpenOffice (LibreOffice) 的文档,POI 将是我的解决方案。

【讨论】:

它是免费的,你应该发布使用itex api的应用程序的源代码。来自该网站的俏皮话.. “一旦您开发涉及 iText 软件的商业活动而不披露您自己的应用程序的源代码,就必须购买这样的许可证。”itextpdf.com/terms-of-use/index.php POI 无法读取基于 OpenOffice (LibreOffice) 的文档,AFAIK。 PDF Box 是 Apache 的替代品,可以阅读 PDF 文档。

以上是关于开源 Java 文本解析器的主要内容,如果未能解决你的问题,请参考以下文章

特定的 Java HTML 解析器 [重复]

EDIFACT 语法、解析器和库(Java)[关闭]

Android中Textview加载HTML方法——RichText富文本解析器

Android中Textview加载HTML方法——RichText富文本解析器

是否有任何 Java HTML 解析器在其中生成的节点保留原始文本的索引?

在 JAVA 中使用 SAX 解析器从 XML 文件中提取文本节点