com.lowagie.text.pdf.parser
Class PdfContentStreamProcessor

java.lang.Object
  extended by com.lowagie.text.pdf.parser.PdfContentStreamProcessor
Direct Known Subclasses:
SimpleTextExtractingPdfContentStreamProcessor

public abstract 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  PdfDictionary resources
          Resources for the content stream.
private  Matrix textLineMatrix
          Text line matrix.
private  Matrix textMatrix
          Text matrix.
 
Constructor Summary
PdfContentStreamProcessor()
          Creates a new PDF Content Stream Processor.
 
Method Summary
 void displayPdfString(PdfString string, float tj)
          Displays text.
abstract  void displayText(java.lang.String text, Matrix nextTextMatrix)
          Displays text.
private  java.lang.String encode(java.lang.String in)
          Encodes a String based on the active font.
 Matrix getCurrentTextLineMatrix()
          Returns the current line matrix.
 Matrix getCurrentTextMatrix()
          Returns the current text matrix.
 float getStringWidth(java.lang.String string, float tj)
          Gets the width of a String.
 GraphicsState gs()
          Returns the current graphics state.
 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 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.

Constructor Detail

PdfContentStreamProcessor

public PdfContentStreamProcessor()
Creates a new PDF Content Stream Processor.

Method Detail

populateOperators

private void populateOperators()
Loads all the supported graphics and text state operators in a map.


reset

public void reset()
Resets the graphics state stack, matrices and resources.


gs

public GraphicsState gs()
Returns the current graphics state.

Returns:
the graphics state

getCurrentTextMatrix

public Matrix getCurrentTextMatrix()
Returns the current text matrix.

Returns:
the text matrix
Since:
2.1.5

getCurrentTextLineMatrix

public Matrix getCurrentTextLineMatrix()
Returns the current line matrix.

Returns:
the line matrix
Since:
2.1.5

invokeOperator

public void invokeOperator(PdfLiteral operator,
                           java.util.ArrayList operands)
Invokes an operator.

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

encode

private java.lang.String encode(java.lang.String in)
Encodes a String based on the active font.

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

displayText

public abstract void displayText(java.lang.String text,
                                 Matrix nextTextMatrix)
Displays text.

Parameters:
text - the text that needs to be displayed
nextTextMatrix - a text matrix

getStringWidth

public float getStringWidth(java.lang.String string,
                            float tj)
Gets the width of a String.

Parameters:
string - the string that needs measuring
tj - text adjustment
Returns:
the width of a String

displayPdfString

public void displayPdfString(PdfString string,
                             float tj)
Displays text.

Parameters:
string - the text to display
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