Class IWorkPackageParser

  • All Implemented Interfaces:
    Serializable, org.apache.tika.parser.Parser

    public class IWorkPackageParser
    extends Object
    implements org.apache.tika.parser.Parser
    A parser for the IWork container files. This includes *.key, *.pages and *.numbers files. This parser delegates the relevant entries to a ContentHandler that parsers the content.

    Currently supported formats:

    1. Keynote format version 2.x. Currently only tested with Keynote version 5.x
    2. Pages format version 1.x. Currently only tested with Pages version 4.0.x
    3. Numbers format version 1.x. Currently only tested with Numbers version 2.0.x
    See Also:
    Serialized Form
    • Field Detail

      • IWORK_CONTENT_ENTRIES

        public static final Set<String> IWORK_CONTENT_ENTRIES
        Which files within an iWork file contain the actual content?
      • IWORK_COMMON_ENTRY

        public static final String IWORK_COMMON_ENTRY
        All iWork files contain one of these, so we can detect based on it
        See Also:
        Constant Field Values
    • Constructor Detail

      • IWorkPackageParser

        public IWorkPackageParser()
    • Method Detail

      • getSupportedTypes

        public Set<org.apache.tika.mime.MediaType> getSupportedTypes​(org.apache.tika.parser.ParseContext context)
        Specified by:
        getSupportedTypes in interface org.apache.tika.parser.Parser
      • parse

        public void parse​(InputStream stream,
                          ContentHandler handler,
                          org.apache.tika.metadata.Metadata metadata,
                          org.apache.tika.parser.ParseContext context)
                   throws IOException,
                          SAXException,
                          org.apache.tika.exception.TikaException
        Specified by:
        parse in interface org.apache.tika.parser.Parser
        Throws:
        IOException
        SAXException
        org.apache.tika.exception.TikaException