Class QuickButCruddyTextExtractor


  • public final class QuickButCruddyTextExtractor
    extends java.lang.Object
    This class will get all the text from a Powerpoint Document, including all the bits you didn't want, and in a somewhat random order, but will do it very fast. The class ignores most of the hslf classes, and doesn't use HSLFSlideShow. Instead, it just does a very basic scan through the file, grabbing all the text records as it goes. It then returns the text, either as a single string, or as a vector of all the individual strings. Because of how it works, it will return a lot of "crud" text that you probably didn't want! It will return text from master slides. It will return duplicate text, and some mangled text (powerpoint files often have duplicate copies of slide text in them). You don't get any idea what the text was associated with. Almost everyone will want to use @see PowerPointExtractor instead. There are only a very small number of cases (eg some performance sensitive lucene indexers) that would ever want to use this!
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Shuts down the underlying streams
      int findTextRecords​(int startPos, java.util.List<java.lang.String> textV)
      For the given position, look if the record is a text record, and wind on after.
      java.lang.String getTextAsString()
      Fetches the ALL the text of the powerpoint file, as a single string
      java.util.List<java.lang.String> getTextAsVector()
      Fetches the ALL the text of the powerpoint file, in a List of strings, one per text record
      static void main​(java.lang.String[] args)
      Really basic text extractor, that will also return lots of crud text.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • QuickButCruddyTextExtractor

        public QuickButCruddyTextExtractor​(java.lang.String fileName)
                                    throws java.io.IOException
        Creates an extractor from a given file name
        Parameters:
        fileName -
        Throws:
        java.io.IOException
      • QuickButCruddyTextExtractor

        public QuickButCruddyTextExtractor​(java.io.InputStream iStream)
                                    throws java.io.IOException
        Creates an extractor from a given input stream
        Parameters:
        iStream -
        Throws:
        java.io.IOException
      • QuickButCruddyTextExtractor

        public QuickButCruddyTextExtractor​(POIFSFileSystem poifs)
                                    throws java.io.IOException
        Creates an extractor from a POIFS Filesystem
        Parameters:
        poifs -
        Throws:
        java.io.IOException
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException
        Really basic text extractor, that will also return lots of crud text. Takes a single argument, the file to extract from
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Shuts down the underlying streams
        Throws:
        java.io.IOException
      • getTextAsString

        public java.lang.String getTextAsString()
        Fetches the ALL the text of the powerpoint file, as a single string
      • getTextAsVector

        public java.util.List<java.lang.String> getTextAsVector()
        Fetches the ALL the text of the powerpoint file, in a List of strings, one per text record
      • findTextRecords

        public int findTextRecords​(int startPos,
                                   java.util.List<java.lang.String> textV)
        For the given position, look if the record is a text record, and wind on after. If it is a text record, grabs out the text. Whatever happens, returns the position of the next record, or -1 if no more.