## com.lowagie.text.pdf.parser
Class PdfContentStreamProcessor

    java.lang.Object
      com.lowagie.text.pdf.parser.PdfContentStreamProcessor

    public class PdfContentStreamProcessor

extends java.lang.Object

Processor for a PDF content Stream.

Since:
  2.1.4

Nested Class Summary
`private static class` `PdfContentStreamProcessor.BeginText` A content operator implementation (BT).
`private static class` `PdfContentStreamProcessor.EndText` A content operator implementation (ET).
`private static class` `PdfContentStreamProcessor.ModifyCurrentTransformationMatrix` A content operator implementation (cm).
`private static class` `PdfContentStreamProcessor.MoveNextLineAndShowText` A content operator implementation (').
`private static class` `PdfContentStreamProcessor.MoveNextLineAndShowTextWithSpacing` A content operator implementation (").
`private static class` `PdfContentStreamProcessor.PopGraphicsState` A content operator implementation (Q).
`private static class` `PdfContentStreamProcessor.ProcessGraphicsStateResource` A content operator implementation (gs).
`private static class` `PdfContentStreamProcessor.PushGraphicsState` A content operator implementation (q).
`private static class` `PdfContentStreamProcessor.SetTextCharacterSpacing` A content operator implementation (Tc).
`private static class` `PdfContentStreamProcessor.SetTextFont` A content operator implementation (Tf).
`private static class` `PdfContentStreamProcessor.SetTextHorizontalScaling` A content operator implementation (Tz).
`private static class` `PdfContentStreamProcessor.SetTextLeading` A content operator implementation (TL).
`private static class` `PdfContentStreamProcessor.SetTextRenderMode` A content operator implementation (Tr).
`private static class` `PdfContentStreamProcessor.SetTextRise` A content operator implementation (Ts).
`private static class` `PdfContentStreamProcessor.SetTextWordSpacing` A content operator implementation (Tw).
`private static class` `PdfContentStreamProcessor.ShowText` A content operator implementation (Tj).
`private static class` `PdfContentStreamProcessor.ShowTextArray` A content operator implementation (TJ).
`private static class` `PdfContentStreamProcessor.TextMoveNextLine` A content operator implementation (T*).
`private static class` `PdfContentStreamProcessor.TextMoveStartNextLine` A content operator implementation (Td).
`private static class` `PdfContentStreamProcessor.TextMoveStartNextLineWithLeading` A content operator implementation (TD).
`private static class` `PdfContentStreamProcessor.TextSetTextMatrix` A content operator implementation (Tm).

Field Summary
`private java.util.Stack` `gsStack` Stack keeping track of the graphics state.
`private java.util.Map` `operators` A map with all supported operators operators (PDF syntax).
`private RenderListener` `renderListener` A list of listeners that will be notified of render events
`private PdfDictionary` `resources` Resources for the content stream.
`private Matrix` `textLineMatrix` Text line matrix.
`private Matrix` `textMatrix` Text matrix.

Constructor Summary
`PdfContentStreamProcessor(RenderListener renderListener)` Creates a new PDF Content Stream Processor that will send it's output to the designated render listener.

Method Summary
`private void` `applyTextAdjust(float tj)` Adjusts the text matrix for the specified adjustment value (see TJ operator in the PDF spec for information)
`private java.lang.String` `decode(PdfString in)` Decodes a PdfString (which will contain glyph ids encoded in the font's encoding) based on the active font, and determine the unicode equivalent
`private void` `displayPdfString(PdfString string)` Displays text.
`private Matrix` `getCurrentTextLineMatrix()` Returns the current line matrix.
`private Matrix` `getCurrentTextMatrix()` Returns the current text matrix.
`private GraphicsState` `gs()` Returns the current graphics state.
`private void` `invokeOperator(PdfLiteral operator, java.util.ArrayList operands)` Invokes an operator.
`private void` `populateOperators()` Loads all the supported graphics and text state operators in a map.
`void` `processContent(byte[] contentBytes, PdfDictionary resources)` Processes PDF syntax
`void` `registerContentOperator(java.lang.String operatorString, ContentOperator operator)` Registers a content operator that will be called when the specified operator string is encountered during content processing.
`void` `reset()` Resets the graphics state stack, matrices and resources.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### operators

    private java.util.Map operators

  A map with all supported operators operators (PDF syntax).

### resources

    private PdfDictionary resources

  Resources for the content stream.

### gsStack

    private java.util.Stack gsStack

  Stack keeping track of the graphics state.

### textMatrix

    private Matrix textMatrix

  Text matrix.

### textLineMatrix

    private Matrix textLineMatrix

  Text line matrix.

### renderListener

    private final RenderListener renderListener

  A list of listeners that will be notified of render events

Constructor Detail

### PdfContentStreamProcessor

    public PdfContentStreamProcessor(RenderListener renderListener)

  Creates a new PDF Content Stream Processor that will send it's output to the designated render listener.

  Parameters:
    `renderListener` - the `AbstractRenderListener` that will receive rendering notifications

Method Detail

### populateOperators

    private void populateOperators()

  Loads all the supported graphics and text state operators in a map.

### registerContentOperator

    public void registerContentOperator(java.lang.String operatorString,
                                        ContentOperator operator)

  Registers a content operator that will be called when the specified operator string is encountered during content processing. Each operator may be registered only once (it is not legal to have multiple operators with the same operatorString)

  Parameters:
    `operatorString` - the operator id
    `operator` - the operator that will receive notification when the operator is encountered
  Since:
    2.1.7

### reset

    public void reset()

  Resets the graphics state stack, matrices and resources.

### gs

    private GraphicsState gs()

  Returns the current graphics state.

  Returns:
    the graphics state

### getCurrentTextMatrix

    private Matrix getCurrentTextMatrix()

  Returns the current text matrix.

  Returns:
    the text matrix
  Since:
    2.1.5

### getCurrentTextLineMatrix

    private Matrix getCurrentTextLineMatrix()

  Returns the current line matrix.

  Returns:
    the line matrix
  Since:
    2.1.5

### invokeOperator

    private void invokeOperator(PdfLiteral operator,
                                java.util.ArrayList operands)

  Invokes an operator.

  Parameters:
    `operator` - the PDF Syntax of the operator
    `operands` - a list with operands

### decode

    private java.lang.String decode(PdfString in)

  Decodes a PdfString (which will contain glyph ids encoded in the font's encoding) based on the active font, and determine the unicode equivalent

  Parameters:
    `in` - the String that needs to be encoded
  Returns:
    the encoded String
  Since:
    2.1.7

### displayPdfString

    private void displayPdfString(PdfString string)

  Displays text.

  Parameters:
    `string` - the text to display

### applyTextAdjust

    private void applyTextAdjust(float tj)

  Adjusts the text matrix for the specified adjustment value (see TJ operator in the PDF spec for information)

  Parameters:
    `tj` - the text adjustment

### processContent

    public void processContent(byte[] contentBytes,
                               PdfDictionary resources)

  Processes PDF syntax

  Parameters:
    `contentBytes` - the bytes of a content stream
    `resources` - the resources that come with the content stream

Hosted by Hostbasket