Apache Tika
目录
简介
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该项目的目标使用群体主要为搜索引擎以及其他内容索引和分析工具。编程语言为Java.支持的文档格式
目前支持的文档格式和对应的解析类库如下: Tika 解析器类格式 | 描述 |
Microsoft® Excel® | 在所有的 Tika 版本中都有对 Excel 电子数据表的支持,基于的是 POI 的 HSSF 库。 |
Microsoft Word®(application/msword) | 在所有的 Tika 版本中都有对 Word 文档的支持,基于的是 POI 的 HWPF 库。 |
Microsoft PowerPoint® | 在所有的 Tika 版本中都有对 PowerPoint 演示的支持,基于的是 POI 的 HSLF 库。 |
Microsoft Visio® (application/vnd.visio) | 在 Tika V0.2 中加入了对 Visio 图表的支持,基于的是 POI 的 HDGF 库。 |
Microsoft Outlook® | 在 Tika V0.2 中加入了对 Outlook 消息的支持,基于的是 POI 的 HSMF 库。 |
GZIP 压缩 (application/x-gzip) | 在 Tika V0.2 中加入了对 GZIP 的支持,基于的是 Java 5 类库中的 GZIPInputStream 类。 |
bzip2 压缩 (application/x-bzip) | 在 Tika V0.2 中加入了对 bzip2 的支持,基于的是 Apache Ant 的 bzip2 解析代码,而它最初基于的是 Aftex Software 的 Keiron Liddle 的工作成果。 |
MP3 音频(audio/mpeg) | 在 Tika V0.2 中加入了对 MP3 文件的 ID3v1 标记的解析。如果找到,如下的元数据将被提取并设置: TITLETitleSUBJECTSubject |
MIDI 音频 (audio/midi) | Tika 使用 javax.audio.midi 内的 MIDI 支持来解析 MIDI 序列文件。很多卡拉 OK 文件格式都基于的是 MIDI 并包含嵌入文本歌曲形式的歌词,并且 Tika 知道该如何提取。 |
Wave 音频 (audio/basic) | Tika 通过 javax.audio.sampled 包支持取样的 wave 音频(.wav 文件等)。只有取样元数据才被提取。 |
Extensible Markup Language (XML) (application/xml) | Tika 使用 javax.xml 类解析 XML 文件。 |
HyperText Markup Language (HTML) (text/html) | Tika 使用 CyberNeko 库解析 HTML 文件。 |
图像 (image/*) | Tika 使用 javax.imageio 类从图像文件中提取元数据。 |
Java 类文件 | Java 类文件的解析基于的是 ASM 库以及 JCR-1522 的 Dave Brosius 的工作成果。 |
Java Archive Files | JAR 文件的解析是综合使用 ZIP 和 Java 这两种类文件解析器完成的。 |
OpenDocument (application/vnd.oasis.opendocument.*) | Tika 使用 Java 语言中的内置 ZIP 和 XML 特性来解析多为 OpenOffice V2.0 或更高版本所用的 OpenDocument 文档类型。较早的 OpenOffice V1.0 格式也受支持,但它们目前不能像较新的格式那样被自动检测。 |
纯文本 (text/plain) | Tika 使用 International Components for Unicode Java 库(ICU4J)来解析纯文本。 |
Portable Document Format (PDF) (application/pdf) | Tika 使用 PDFBox 库来解析 PDF 文档。 |
Rich Text Format (RTF) (application/rtf) | Tika 使用 Java 的内置 Swing 库来解析 RTF 文档。 |
TAR (application/x-tar) | Tika 使用来自 Apache Ant 的 TAR 解析代码的调整版本来解析 TAR 文件。而此 TAR 代码基于的是 Timothy Gerard Endres 的工作成果。 |
ZIP (application/zip) | Tika 使用 Java 的内置 ZIP 类来解析 ZIP 文件。 |