public abstract class PdfContentStreamProcessor extends Object
Modifier and Type | Class and Description |
---|---|
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).
|
Modifier and Type | Field and Description |
---|---|
private Stack |
gsStack
Stack keeping track of the graphics state.
|
private 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 and Description |
---|
PdfContentStreamProcessor()
Creates a new PDF Content Stream Processor.
|
Modifier and Type | Method and Description |
---|---|
private 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
|
void |
displayPdfString(PdfString string,
float tj)
Displays text.
|
abstract void |
displayText(String text,
Matrix nextTextMatrix)
Displays text.
|
Matrix |
getCurrentTextLineMatrix()
Returns the current line matrix.
|
Matrix |
getCurrentTextMatrix()
Returns the current text matrix.
|
float |
getStringWidth(String string,
float tj)
Gets the width of a String.
|
GraphicsState |
gs()
Returns the current graphics state.
|
void |
invokeOperator(PdfLiteral operator,
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.
|
private Map operators
private PdfDictionary resources
private Stack gsStack
private Matrix textMatrix
private Matrix textLineMatrix
public PdfContentStreamProcessor()
private void populateOperators()
public void reset()
public GraphicsState gs()
public Matrix getCurrentTextMatrix()
public Matrix getCurrentTextLineMatrix()
public void invokeOperator(PdfLiteral operator, ArrayList operands)
operator
- the PDF Syntax of the operatoroperands
- a list with operandsprivate String decode(PdfString in)
in
- the String that needs to be encodedpublic abstract void displayText(String text, Matrix nextTextMatrix)
text
- the text that needs to be displayednextTextMatrix
- a text matrixpublic float getStringWidth(String string, float tj)
string
- the string that needs measuringtj
- text adjustmentpublic void displayPdfString(PdfString string, float tj)
string
- the text to displaytj
- the text adjustmentpublic void processContent(byte[] contentBytes, PdfDictionary resources)
contentBytes
- the bytes of a content streamresources
- the resources that come with the content stream