Class PdfCanvasParser

java.lang.Object
com.itextpdf.kernel.pdf.canvas.parser.util.PdfCanvasParser

public class PdfCanvasParser extends Object
Parses the page or form XObject content.
  • Constructor Details

    • 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 Details

    • parse

      public List<PdfObject> parse (List<PdfObject> ls) throws 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:
      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 IOException
      Reads a dictionary. The tokeniser must be positioned past the "<<" token.
      Returns:
      the dictionary
      Throws:
      IOException - on error
    • readArray

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

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

      public boolean nextValidToken() throws 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:
      IOException - on error