Class ExtractTextAsWordlist


  • public class ExtractTextAsWordlist
    extends Object

    Extract words and locations from PDF files


    This class provides a simple Java API to extract text as words and the location on the page from a PDF file and also a static convenience method if you just want to dump all the word lists from a PDF file or directory containing PDF files

    Example 1 - access API methods

    ExtractTextAsWordlist extract=new ExtractTextAsWordlist("C:/pdfs/mypdf.pdf");
     //extract.setPassword("password");
     if (extract.openPDFFile()) {
          int pageCount=extract.getPageCount();
          for (int page=1; page<=pageCount; page++) {
    
            List wordList=extract.getWordsOnPage(page);
          }
     }
    
     extract.closePDFfile();

    Example 2 - convenience static method

    Extract word lists for a file or set of files and write out results as XML in a txt file (separate directory for each PDF file)
    Last value is maximum number of pages to process or -1 for all pages
    ExtractTextAsWordlist.writeAllWordlistsToDir("pdfs", "output", -1);

    Example 3 - Access directly from the Jar

    ExtractTextAsWordlist can run from jar directly using the command line and will extract any outlines from a PDF file or directory to a defined output directory:
    java -cp libraries_needed org/jpedal/examples/text/ExtractTextAsWordlist inputValues
    Where inputValues is 2 values:
    • First value: The PDF filename (including the path if needed) or a directory containing PDF files. If it contains spaces it must be enclosed by double quotes (ie "C:/Path with spaces/").
    • Second value: The location to write out data extracted from the PDF file or files. If it contains spaces it must be enclosed by double quotes (ie "C:/Path with spaces/").

    See our Support Pages for more information on Text Extraction.
    • Constructor Detail

      • ExtractTextAsWordlist

        public ExtractTextAsWordlist​(String fileName)
        Sets up an ExtractTextAsWordlist instance to open a PDF File
        Parameters:
        fileName - full path to a single PDF file
      • ExtractTextAsWordlist

        public ExtractTextAsWordlist​(byte[] byteArray)
        Sets up an ExtractTextAsWordlist instance to open a PDF file contained as a BLOB within a byte[] stream
        Parameters:
        byteArray -
    • Method Detail

      • getWordsOnPage

        public List<String> getWordsOnPage​(int page)
                                    throws PdfException
        Gets the individual words from the pages text content and returns them.
        Parameters:
        page - The page to get text content from.
        Returns:
        List object containing all words found on the page.
        Throws:
        PdfException
      • main

        public static void main​(String[] args)
        This class will allow you to extract any Words from page as a list via command line from a single PDF file or a directory of PDF files.
        The example expects two:
        • Value 1 is the file name or directory of PDF files to process
        • Value 2 is directory to write out the outline data
        Parameters:
        args - The expected arguments are described above.
      • writeAllWordlistsToDir

        public static int writeAllWordlistsToDir​(String inputDir,
                                                 String outputDir,
                                                 int maxPages)
                                          throws PdfException
        Convenience method to write all the Wordlists in a directory of PDF files
        Parameters:
        inputDir - directory containing PDF files
        outputDir - directory for writing out wordlists
        Throws:
        PdfException
      • setPassword

        public void setPassword​(String password)
        Parameters:
        password - the USER or OWNER password for the PDF file
      • getPageCount

        public int getPageCount()
        number of pages in PDF file (starting at 1)
        Returns:
        page count
      • openPDFFile

        public boolean openPDFFile()
                            throws PdfException
        routine to open the PDF File so we can access
        Returns:
        true if successful
        Throws:
        PdfException
      • closePDFfile

        public void closePDFfile()
        ensure PDF file is closed once no longer needed and all resources released