Class PdfCanvasParser


  • public class PdfCanvasParser
    extends java.lang.Object
    Parses the page or form XObject content.
    • Field Detail

      • tokeniser

        private PdfTokenizer tokeniser
        Holds value of property tokeniser.
    • Constructor Detail

      • PdfCanvasParser

        public PdfCanvasParser​(PdfTokenizer tokeniser)
        Creates a new instance of PdfContentParser
        Parameters:
        tokeniser - the tokeniser with the content
      • PdfCanvasParser

        public PdfCanvasParser​(PdfTokenizer tokeniser,
                               PdfResources currentResources)
        Creates a new instance of PdfContentParser
        Parameters:
        tokeniser - the tokeniser with the content
        currentResources - current resources of the content stream. It is optional parameter, which is used for performance improvements of specific cases of inline images parsing.
    • Method Detail

      • parse

        public java.util.List<PdfObject> parse​(java.util.List<PdfObject> ls)
                                        throws java.io.IOException
        Parses a single command from the content. Each command is output as an array of arguments having the command itself as the last element. The returned array will be empty if the end of content was reached.
        A specific behaviour occurs when inline image is encountered (BI command): in that case, parser would continue parsing until it meets EI - end of the inline image; as a result in this case it will return an array with inline image dictionary and image bytes encapsulated in PdfStream object as first element and EI command as second element.
        Parameters:
        ls - an ArrayList to use. It will be cleared before using. If it's null will create a new ArrayList
        Returns:
        the same ArrayList given as argument or a new one
        Throws:
        java.io.IOException - on error
      • getTokeniser

        public PdfTokenizer getTokeniser()
        Gets the tokeniser.
        Returns:
        the tokeniser.
      • setTokeniser

        public void setTokeniser​(PdfTokenizer tokeniser)
        Sets the tokeniser.
        Parameters:
        tokeniser - the tokeniser
      • readDictionary

        public PdfDictionary readDictionary()
                                     throws java.io.IOException
        Reads a dictionary. The tokeniser must be positioned past the "<<" token.
        Returns:
        the dictionary
        Throws:
        java.io.IOException - on error
      • readArray

        public PdfArray readArray()
                           throws java.io.IOException
        Reads an array. The tokeniser must be positioned past the "[" token.
        Returns:
        an array
        Throws:
        java.io.IOException - on error
      • readObject

        public PdfObject readObject()
                             throws java.io.IOException
        Reads a pdf object.
        Returns:
        the pdf object
        Throws:
        java.io.IOException - on error
      • nextValidToken

        public boolean nextValidToken()
                               throws java.io.IOException
        Reads the next token skipping over the comments.
        Returns:
        true if a token was read, false if the end of content was reached
        Throws:
        java.io.IOException - on error