-------------------------- Supported Document Formats -------------------------- ~~ Licensed to the Apache Software Foundation (ASF) under one or more ~~ contributor license agreements. See the NOTICE file distributed with ~~ this work for additional information regarding copyright ownership. ~~ The ASF licenses this file to You under the Apache License, Version 2.0 ~~ (the "License"); you may not use this file except in compliance with ~~ the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, software ~~ distributed under the License is distributed on an "AS IS" BASIS, ~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~~ See the License for the specific language governing permissions and ~~ limitations under the License. Supported Document Formats This page lists all the document formats supported by Apache Tika 1.6. Follow the links to the various parser class javadocs for more detailed information about each document format and how it is parsed by Tika. %{toc|section=1|fromDepth=1} * {HyperText Markup Language} The HyperText Markup Language (HTML) is the lingua franca of the web. Tika uses the {{{http://home.ccil.org/~cowan/XML/tagsoup/}TagSoup}} library to support virtually any kind of HTML found on the web. The output from the {{{./api/org/apache/tika/parser/html/HtmlParser.html}HtmlParser}} class is guaranteed to be well-formed and valid XHTML, and various heuristics are used to prevent things like inline scripts from cluttering the extracted text content. * {XML and derived formats} The Extensible Markup Language (XML) format is a generic format that can be used for all kinds of content. Tika has custom parsers for some widely used XML vocabularies like XHTML, OOXML and ODF, but the default {{{./api/org/apache/tika/parser/xml/DcXMLParser.html}DcXMLParser}} class simply extracts the text content of the document and ignores any XML structure. The only exception to this rule are Dublin Core metadata elements that are used for the document metadata. * {Microsoft Office document formats} Microsoft Office and some related applications produce documents in the generic OLE 2 Compound Document and Office Open XML (OOXML) formats. The older OLE 2 format was introduced in Microsoft Office version 97 and was the default format until Office version 2007 and the new XML-based OOXML format. The {{{./api/org/apache/tika/parser/microsoft/OfficeParser.html}OfficeParser}} and {{{./api/org/apache/tika/parser/microsoft/ooxml/OOXMLParser.html}OOXMLParser}} classes use {{{http://poi.apache.org/}Apache POI}} libraries to support text and metadata extraction from both OLE2 and OOXML documents. * {OpenDocument Format} The OpenDocument format (ODF) is used most notably as the default format of the OpenOffice.org office suite. The {{{./api/org/apache/tika/parser/odf/OpenDocumentParser.html}OpenDocumentParser}} class supports this format and the earlier OpenOffice 1.0 format on which ODF is based. * {iWorks document formats} The various iWorks document formats (Numbers, Pages, Keynote) are supported by the {{{./api/org/apache/tika/parser/iwork/IWorkPackageParser.html}IWorkPackageParser}} class, which extracts text and metadata. * {Portable Document Format} The {{{./api/org/apache/tika/parser/pdf/PDFParser.html}PDFParser}} class parsers Portable Document Format (PDF) documents using the {{{http://pdfbox.apache.org/}Apache PDFBox}} library. * {Electronic Publication Format} The {{{./api/org/apache/tika/parser/epub/EpubParser.html}EpubParser}} class supports the Electronic Publication Format (EPUB) used for many digital books. The {{{./api/org/apache/tika/parser/xml/FictionBookParser.html}FictionBookParser}} class supports the xml-based Fiction Book publishing format. * {Rich Text Format} The {{{./api/org/apache/tika/parser/rtf/RTFParser.html}RTFParser}} class uses the standard javax.swing.text.rtf feature to extract text content from Rich Text Format (RTF) documents. * {Compression and packaging formats} Tika uses the {{{http://commons.apache.org/compress/}Commons Compress}} library to support various compression and packaging formats. The {{{./api/org/apache/tika/parser/pkg/PackageParser.html}PackageParser}} class and its subclasses first parse the top level compression or packaging format and then pass the unpacked document streams to a second parsing stage using the parser instance specified in the parse context. Formats supported include Tar, CPIO, Zip and 7Zip. * {Text formats} Extracting text content from plain text files seems like a simple task until you start thinking of all the possible character encodings. The {{{./api/org/apache/tika/parser/txt/TXTParser.html}TXTParser}} class uses encoding detection code from the {{{http://site.icu-project.org/}ICU}} project to automatically detect the character encoding of a text document. * {Feed and Syndication formats} The {{{./api/org/apache/tika/parser/feed/FeedParser.html}FeedParser}} class supports the RSS and Atom feed syndication formats. The {{{./api/org/apache/tika/parser/iptc/IptcAnpaParser.html}IptcAnpaParser}} class supports the IPTC ANPA News Wire feed format. * {Help formats} The {{{./api/org/apache/tika/parser/chm/ChmParser.html}ChmParser}} class supports the CHM Help format. * {Audio formats} Tika can detect several common audio formats and extract metadata from them. Even text extraction is supported for some audio files that contain lyrics or other textual content. Extracted metadata includes sampling rates, channels, format information, artists, titles etc. The {{{./api/org/apache/tika/parser/audio/AudioParser.html}AudioParser}} and {{{./api/org/apache/tika/parser/audio/MidiParser.html}MidiParser}} classes use standard javax.sound features to process simple audio formats. The {{{./api/org/apache/tika/parser/mp3/Mp3Parser.html}Mp3Parser}} class adds support for the widely used MP3 format, and the {{{./api/org/apache/tika/parser/mp4/MP4Parser.html}MP4Parser}} class provides it for MP4 audio. The Ogg family of audio formats (Vorbis, Speex, Opus, Flac etc) are supported by the {{{./api/org/gagravarr/tika/VorbisParser.html}VorbisParser}}, {{{./api/org/gagravarr/tika/OpusParser.html}OpusParser}}, {{{./api/org/gagravarr/tika/SpeexParser.html}SpeexParser}} and {{{./api/org/gagravarr/tika/FlacParser.html}FlacParser}} classes. * {Image formats} The {{{./api/org/apache/tika/parser/image/ImageParser.html}ImageParser}} class uses the standard javax.imageio feature to extract simple metadata from image formats supported by the Java platform, such as PNG, GIF and BMP. More complex image metadata is available through the {{{./api/org/apache/tika/parser/jpeg/JpegParser.html}JpegParser}} class and {{{./api/org/apache/tika/parser/image/TiffParser.html}TiffParser}} classes that uses the metadata-extractor library to supports Exif metadata extraction from Jpeg and Tiff images. The {{{./api/org/apache/tika/parser/image/PSDParser.html}PSDParser}} class extracts metadata from PSD images. * {Video formats} Tika supports the Flash video format using a simple parsing algorithm implemented in the {{{./api/org/apache/tika/parser/flv/FLVParser}FLVParser}} class. The MP4 family of video formats (MP4, Quicktime, 3GPP etc) is supported by the {{{./api/org/apache/tika/parser/mp4/MP4Parser}MP4Parser}} class, which extracts metadata on the video, along with audio stream (if present). For the Ogg family of video formats, a limited amount of metadata is extracted by the {{{./api/org/gagravarr/tika/OggParser.html}OggParser}} class. * {Java class files and archives} The {{{./api/org/apache/tika/parser/asm/ClassParser}ClassParser}} class extracts class names and method signatures from Java class files, and the {{{./api/org/apache/tika/parser/pkg/ZipParser.html}ZipParser}} class supports also jar archives. * {Source code} The {{{./api/org/apache/tika/parser/code/SourceCodeParser}SourceCodeParser}} class handles a number of source code formats, including Java, C, C++ and Groovy. It provides a formatted form of the code, along with some simple metadata. * {Mail formats} The {{{./api/org/apache/tika/parser/mbox/MboxParser.html}MboxParser}} can extract email messages from the mbox format used by many email archives and Unix-style mailboxes. The {{{./api/org/apache/tika/parser/mail/RFC822Parser.html}RFC822Parser}} can process single email messages in the RFC 822 format used by many email clients in their archives / exports. The {{{./api/org/apache/tika/parser/mbox/PSTParser.html}PSDParser}} can extract email messages from the Microsoft Outlook PST email format. The {{{./api/org/apache/tika/parser/microsoft/OutlookExtractor.html}OutlookExtractor}} (part of {{{./api/org/apache/tika/parser/microsoft/OfficeParser}OfficeParser}}) is able to extract email messages from the Microsoft Outlook MSG email format. * {CAD formats} The {{{./api/org/apache/tika/parser/dwg/DWGParser.html}DWGParser}} can extract simple metadata from the DWG CAD format. * {Font formats} The {{{./api/org/apache/tika/parser/font/TrueTypeParser.html}TrueTypeParser}} class can extract simple metadata from the TrueType font format. The {{{./api/org/apache/tika/parser/font/AdobeFontMetricParser.html}AdobeFontMetricParser}} class does something similar for Adobe Font Metrics files. * {Scientific formats} The {{{./api/org/apache/tika/parser/hdf/HDFParser.html}HDFParser}} is able to extract attribute metadata from the HDF scientific file format. The {{{./api/org/apache/tika/parser/netcdf/NetCDFParser.html}NetCDFParser}} is able to extract attribute metadata from the NetCDF scientific file format. The {{{./api/org/apache/tika/parser/mat/MatParser.html}MatParser}} is able to extract attribute metadata from the Matlab scientific file format. * {Executable programs and libraries} The {{{./api/org/apache/tika/parser/executable/ExecutableParser.html}ExecutableParser}} can extract metadata information on platforms, architectures and types from a range of executable formats and libraries, such as Windows Executables and Linux / BSD programs and libraries. * {Crypto formats} The {{{./api/org/apache/tika/parser/crypto/Pkcs7Parser.html}Pkcs7Parser}} is able to parse the contents of PKCS7 signed messages, but doesn't include any information from the outer PKCS7 wrapper. Full list of supported formats: * org.apache.tika.parser.asm.{{{./api/org/apache/tika/parser/asm/ClassParser}ClassParser}} * application/java-vm * org.apache.tika.parser.audio.{{{./api/org/apache/tika/parser/audio/AudioParser}AudioParser}} * audio/x-wav * audio/x-aiff * audio/basic * org.apache.tika.parser.audio.{{{./api/org/apache/tika/parser/audio/MidiParser}MidiParser}} * application/x-midi * audio/midi * org.apache.tika.parser.chm.{{{./api/org/apache/tika/parser/chm/ChmParser}ChmParser}} * application/vnd.ms-htmlhelp * application/chm * application/x-chm * org.apache.tika.parser.code.{{{./api/org/apache/tika/parser/code/SourceCodeParser}SourceCodeParser}} * text/x-java-source * text/x-c++src * text/x-groovy * org.apache.tika.parser.crypto.{{{./api/org/apache/tika/parser/crypto/Pkcs7Parser}Pkcs7Parser}} * application/pkcs7-signature * application/pkcs7-mime * org.apache.tika.parser.dwg.{{{./api/org/apache/tika/parser/dwg/DWGParser}DWGParser}} * image/vnd.dwg * org.apache.tika.parser.epub.{{{./api/org/apache/tika/parser/epub/EpubParser}EpubParser}} * application/x-ibooks+zip * application/epub+zip * org.apache.tika.parser.executable.{{{./api/org/apache/tika/parser/executable/ExecutableParser}ExecutableParser}} * application/x-elf * application/x-sharedlib * application/x-executable * application/x-msdownload * application/x-coredump * application/x-object * org.apache.tika.parser.feed.{{{./api/org/apache/tika/parser/feed/FeedParser}FeedParser}} * application/atom+xml * application/rss+xml * org.apache.tika.parser.font.{{{./api/org/apache/tika/parser/font/AdobeFontMetricParser}AdobeFontMetricParser}} * application/x-font-adobe-metric * org.apache.tika.parser.font.{{{./api/org/apache/tika/parser/font/TrueTypeParser}TrueTypeParser}} * application/x-font-ttf * org.apache.tika.parser.hdf.{{{./api/org/apache/tika/parser/hdf/HDFParser}HDFParser}} * application/x-hdf * org.apache.tika.parser.html.{{{./api/org/apache/tika/parser/html/HtmlParser}HtmlParser}} * application/x-asp * application/xhtml+xml * application/vnd.wap.xhtml+xml * text/html * org.apache.tika.parser.image.{{{./api/org/apache/tika/parser/image/ImageParser}ImageParser}} * image/x-ms-bmp * image/png * image/x-icon * image/vnd.wap.wbmp * image/gif * image/bmp * image/x-xcf * org.apache.tika.parser.image.{{{./api/org/apache/tika/parser/image/PSDParser}PSDParser}} * image/vnd.adobe.photoshop * org.apache.tika.parser.image.{{{./api/org/apache/tika/parser/image/TiffParser}TiffParser}} * image/tiff * org.apache.tika.parser.iptc.{{{./api/org/apache/tika/parser/iptc/IptcAnpaParser}IptcAnpaParser}} * text/vnd.iptc.anpa * org.apache.tika.parser.iwork.{{{./api/org/apache/tika/parser/iwork/IWorkPackageParser}IWorkPackageParser}} * application/vnd.apple.iwork * application/vnd.apple.numbers * application/vnd.apple.keynote * application/vnd.apple.pages * org.apache.tika.parser.jpeg.{{{./api/org/apache/tika/parser/jpeg/JpegParser}JpegParser}} * image/jpeg * org.apache.tika.parser.mail.{{{./api/org/apache/tika/parser/mail/RFC822Parser}RFC822Parser}} * message/rfc822 * org.apache.tika.parser.mat.{{{./api/org/apache/tika/parser/mat/MatParser}MatParser}} * application/x-matlab-data * org.apache.tika.parser.mbox.{{{./api/org/apache/tika/parser/mbox/MboxParser}MboxParser}} * application/mbox * org.apache.tika.parser.mbox.{{{./api/org/apache/tika/parser/mbox/OutlookPSTParser}OutlookPSTParser}} * application/vnd.ms-outlook-pst * org.apache.tika.parser.microsoft.{{{./api/org/apache/tika/parser/microsoft/OfficeParser}OfficeParser}} * application/x-mspublisher * application/x-tika-msoffice * application/vnd.ms-excel * application/sldworks * application/x-tika-msworks-spreadsheet * application/vnd.ms-powerpoint * application/x-tika-msoffice-embedded; format=ole10_native * application/vnd.ms-project * application/x-tika-ooxml-protected * application/msword * application/vnd.ms-outlook * application/vnd.visio * org.apache.tika.parser.microsoft.{{{./api/org/apache/tika/parser/microsoft/TNEFParser}TNEFParser}} * application/x-tnef * application/ms-tnef * application/vnd.ms-tnef * org.apache.tika.parser.microsoft.ooxml.{{{./api/org/apache/tika/parser/microsoft/ooxml/OOXMLParser}OOXMLParser}} * application/vnd.ms-excel.sheet.macroenabled.12 * application/vnd.ms-powerpoint.presentation.macroenabled.12 * application/vnd.openxmlformats-officedocument.spreadsheetml.template * application/vnd.openxmlformats-officedocument.wordprocessingml.document * application/vnd.openxmlformats-officedocument.presentationml.template * application/vnd.openxmlformats-officedocument.spreadsheetml.sheet * application/vnd.openxmlformats-officedocument.presentationml.presentation * application/vnd.ms-excel.addin.macroenabled.12 * application/vnd.ms-word.document.macroenabled.12 * application/vnd.ms-excel.template.macroenabled.12 * application/vnd.openxmlformats-officedocument.wordprocessingml.template * application/vnd.ms-powerpoint.slideshow.macroenabled.12 * application/vnd.ms-powerpoint.addin.macroenabled.12 * application/vnd.ms-word.template.macroenabled.12 * application/x-tika-ooxml * application/vnd.openxmlformats-officedocument.presentationml.slideshow * org.apache.tika.parser.mp3.{{{./api/org/apache/tika/parser/mp3/Mp3Parser}Mp3Parser}} * audio/mpeg * org.apache.tika.parser.mp4.{{{./api/org/apache/tika/parser/mp4/MP4Parser}MP4Parser}} * video/3gpp2 * video/mp4 * video/quicktime * audio/mp4 * application/mp4 * video/x-m4v * video/3gpp * org.apache.tika.parser.netcdf.{{{./api/org/apache/tika/parser/netcdf/NetCDFParser}NetCDFParser}} * application/x-netcdf * org.apache.tika.parser.odf.{{{./api/org/apache/tika/parser/odf/OpenDocumentParser}OpenDocumentParser}} * application/x-vnd.oasis.opendocument.graphics-template * application/vnd.sun.xml.writer * application/x-vnd.oasis.opendocument.text * application/x-vnd.oasis.opendocument.text-web * application/x-vnd.oasis.opendocument.spreadsheet-template * application/vnd.oasis.opendocument.formula-template * application/vnd.oasis.opendocument.presentation * application/vnd.oasis.opendocument.image-template * application/x-vnd.oasis.opendocument.graphics * application/vnd.oasis.opendocument.chart-template * application/vnd.oasis.opendocument.presentation-template * application/x-vnd.oasis.opendocument.image-template * application/vnd.oasis.opendocument.formula * application/x-vnd.oasis.opendocument.image * application/vnd.oasis.opendocument.spreadsheet-template * application/x-vnd.oasis.opendocument.chart-template * application/x-vnd.oasis.opendocument.formula * application/vnd.oasis.opendocument.spreadsheet * application/vnd.oasis.opendocument.text-web * application/vnd.oasis.opendocument.text-template * application/vnd.oasis.opendocument.text * application/x-vnd.oasis.opendocument.formula-template * application/x-vnd.oasis.opendocument.spreadsheet * application/x-vnd.oasis.opendocument.chart * application/vnd.oasis.opendocument.text-master * application/x-vnd.oasis.opendocument.text-master * application/x-vnd.oasis.opendocument.text-template * application/vnd.oasis.opendocument.graphics * application/vnd.oasis.opendocument.graphics-template * application/x-vnd.oasis.opendocument.presentation * application/vnd.oasis.opendocument.image * application/x-vnd.oasis.opendocument.presentation-template * application/vnd.oasis.opendocument.chart * org.apache.tika.parser.pdf.{{{./api/org/apache/tika/parser/pdf/PDFParser}PDFParser}} * application/pdf * org.apache.tika.parser.pkg.{{{./api/org/apache/tika/parser/pkg/CompressorParser}CompressorParser}} * application/x-bzip * application/x-bzip2 * application/gzip * application/x-gzip * application/x-xz * org.apache.tika.parser.pkg.{{{./api/org/apache/tika/parser/pkg/PackageParser}PackageParser}} * application/x-tar * application/x-tika-unix-dump * application/java-archive * application/x-7z-compressed * application/x-archive * application/x-cpio * application/zip * org.apache.tika.parser.rtf.{{{./api/org/apache/tika/parser/rtf/RTFParser}RTFParser}} * application/rtf * org.apache.tika.parser.txt.{{{./api/org/apache/tika/parser/txt/TXTParser}TXTParser}} * text/plain * org.apache.tika.parser.video.{{{./api/org/apache/tika/parser/video/FLVParser}FLVParser}} * video/x-flv * org.apache.tika.parser.xml.{{{./api/org/apache/tika/parser/xml/DcXMLParser}DcXMLParser}} * application/xml * image/svg+xml * org.apache.tika.parser.xml.{{{./api/org/apache/tika/parser/xml/FictionBookParser}FictionBookParser}} * application/x-fictionbook+xml * org.gagravarr.tika.{{{./api/org/gagravarr/tika/FlacParser}FlacParser}} * audio/x-oggflac * audio/x-flac * org.gagravarr.tika.{{{./api/org/gagravarr/tika/OggParser}OggParser}} * application/kate * application/ogg * audio/x-oggpcm * video/x-oggyuv * video/x-dirac * video/x-ogm * audio/ogg * video/x-ogguvs * video/theora * video/x-oggrgb * video/ogg * org.gagravarr.tika.{{{./api/org/gagravarr/tika/OpusParser}OpusParser}} * audio/opus * audio/ogg; codecs=opus * org.gagravarr.tika.{{{./api/org/gagravarr/tika/SpeexParser}SpeexParser}} * audio/speex * audio/ogg; codecs=speex * org.gagravarr.tika.{{{./api/org/gagravarr/tika/VorbisParser}VorbisParser}} * audio/vorbis