public abstract class PDFStreamEngine extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
PDFStreamEngine()
Creates a new PDFStreamEngine.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addOperator(OperatorProcessor op)
Adds an operator processor to the engine.
|
protected void |
applyTextAdjustment(float tx,
float ty)
Applies a text position adjustment from the TJ operator.
|
void |
beginMarkedContentSequence(COSName tag,
COSDictionary properties)
Called when a marked content group begins
|
void |
beginText()
Called when the BT operator is encountered.
|
void |
decreaseLevel()
Decrease the level.
|
void |
endMarkedContentSequence()
Called when a a marked content group ends
|
void |
endText()
Called when the ET operator is encountered.
|
PDAppearanceStream |
getAppearance(PDAnnotation annotation)
Returns the appearance stream to process for the given annotation.
|
PDPage |
getCurrentPage()
Returns the current page.
|
int |
getGraphicsStackSize() |
PDGraphicsState |
getGraphicsState() |
Matrix |
getInitialMatrix()
Gets the stream's initial matrix.
|
int |
getLevel()
Get the current level.
|
PDResources |
getResources() |
Matrix |
getTextLineMatrix() |
Matrix |
getTextMatrix() |
void |
increaseLevel()
Increase the level.
|
protected void |
operatorException(Operator operator,
List<COSBase> operands,
IOException e)
Called when an exception is thrown by an operator.
|
protected void |
processAnnotation(PDAnnotation annotation,
PDAppearanceStream appearance)
Process the given annotation with the specified appearance stream.
|
protected void |
processChildStream(PDContentStream contentStream,
PDPage page)
Process a child stream of the given page.
|
protected void |
processOperator(Operator operator,
List<COSBase> operands)
This is used to handle an operation.
|
void |
processOperator(String operation,
List<COSBase> arguments)
This is used to handle an operation.
|
void |
processPage(PDPage page)
This will initialize and process the contents of the stream.
|
protected void |
processSoftMask(PDTransparencyGroup group)
Processes a soft mask transparency group stream.
|
protected void |
processTilingPattern(PDTilingPattern tilingPattern,
PDColor color,
PDColorSpace colorSpace)
Process the given tiling pattern.
|
protected void |
processTilingPattern(PDTilingPattern tilingPattern,
PDColor color,
PDColorSpace colorSpace,
Matrix patternMatrix)
Process the given tiling pattern.
|
protected void |
processTransparencyGroup(PDTransparencyGroup group)
Processes a transparency group stream.
|
protected void |
processType3Stream(PDType3CharProc charProc,
Matrix textRenderingMatrix)
Processes a Type 3 character stream.
|
protected void |
restoreGraphicsStack(Deque<PDGraphicsState> snapshot)
Restores the entire graphics stack.
|
void |
restoreGraphicsState()
Pops the current graphics state from the stack.
|
protected Deque<PDGraphicsState> |
saveGraphicsStack()
Saves the entire graphics stack.
|
void |
saveGraphicsState()
Pushes the current graphics state to the stack.
|
void |
setLineDashPattern(COSArray array,
int phase) |
void |
setTextLineMatrix(Matrix value) |
void |
setTextMatrix(Matrix value) |
void |
showAnnotation(PDAnnotation annotation)
Shows the given annotation.
|
protected void |
showFontGlyph(Matrix textRenderingMatrix,
PDFont font,
int code,
Vector displacement)
Called when a glyph is to be processed.
|
void |
showForm(PDFormXObject form)
Shows a form from the content stream.
|
protected void |
showGlyph(Matrix textRenderingMatrix,
PDFont font,
int code,
Vector displacement)
Called when a glyph is to be processed.
|
protected void |
showText(byte[] string)
Process text from the PDF Stream.
|
void |
showTextString(byte[] string)
Called when a string of text is to be shown.
|
void |
showTextStrings(COSArray array)
Called when a string of text with spacing adjustments is to be shown.
|
void |
showTransparencyGroup(PDTransparencyGroup form)
Shows a transparency group from the content stream.
|
protected void |
showType3Glyph(Matrix textRenderingMatrix,
PDType3Font font,
int code,
Vector displacement)
Called when a glyph is to be processed.
|
Point2D.Float |
transformedPoint(float x,
float y)
Transforms a point using the CTM.
|
protected float |
transformWidth(float width)
Transforms a width using the CTM.
|
protected void |
unsupportedOperator(Operator operator,
List<COSBase> operands)
Called when an unsupported operator is encountered.
|
public final void addOperator(OperatorProcessor op)
op - operator processorpublic void processPage(PDPage page) throws IOException
page - the page to processIOException - if there is an error accessing the streampublic void showTransparencyGroup(PDTransparencyGroup form) throws IOException
form - transparency group (form) XObjectIOException - if the transparency group cannot be processedpublic void showForm(PDFormXObject form) throws IOException
form - form XObjectIOException - if the form cannot be processedprotected void processSoftMask(PDTransparencyGroup group) throws IOException
group - IOExceptionprotected void processTransparencyGroup(PDTransparencyGroup group) throws IOException
group - IOExceptionprotected void processType3Stream(PDType3CharProc charProc, Matrix textRenderingMatrix) throws IOException
charProc - Type 3 character proceduretextRenderingMatrix - the Text Rendering MatrixIOException - if there is an error reading or parsing the character content stream.protected void processAnnotation(PDAnnotation annotation, PDAppearanceStream appearance) throws IOException
annotation - The annotation containing the appearance stream to process.appearance - The appearance stream to process.IOException - If there is an error reading or parsing the appearance content stream.protected final void processTilingPattern(PDTilingPattern tilingPattern, PDColor color, PDColorSpace colorSpace) throws IOException
tilingPattern - the tiling patterncolor - color to use, if this is an uncoloured pattern, otherwise null.colorSpace - color space to use, if this is an uncoloured pattern, otherwise null.IOException - if there is an error reading or parsing the tiling pattern content stream.protected final void processTilingPattern(PDTilingPattern tilingPattern, PDColor color, PDColorSpace colorSpace, Matrix patternMatrix) throws IOException
tilingPattern - the tiling patterncolor - color to use, if this is an uncoloured pattern, otherwise null.colorSpace - color space to use, if this is an uncoloured pattern, otherwise null.patternMatrix - the pattern matrix, may be overridden for custom rendering.IOException - if there is an error reading or parsing the tiling pattern content stream.public void showAnnotation(PDAnnotation annotation) throws IOException
annotation - An annotation on the current page.IOException - If an error occurred reading the annotationpublic PDAppearanceStream getAppearance(PDAnnotation annotation)
annotation - The current annotation.protected void processChildStream(PDContentStream contentStream, PDPage page) throws IOException
processPage(PDPage).contentStream - the child content streampage - IOException - if there is an exception while processing the streampublic void beginText()
throws IOException
IOException - if there was an error processing the textpublic void endText()
throws IOException
IOException - if there was an error processing the textpublic void showTextString(byte[] string)
throws IOException
string - the encoded textIOException - if there was an error showing the textpublic void showTextStrings(COSArray array) throws IOException
array - array of encoded text strings and adjustmentsIOException - if there was an error showing the textprotected void applyTextAdjustment(float tx,
float ty)
tx - x-translationty - y-translationprotected void showText(byte[] string)
throws IOException
string - the encoded textIOException - if there is an error processing the stringprotected void showGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphdisplacement - the displacement (i.e. advance) of the glyph in text spaceIOException - if the glyph cannot be processedprotected void showFontGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphdisplacement - the displacement (i.e. advance) of the glyph in text spaceIOException - if the glyph cannot be processedprotected void showType3Glyph(Matrix textRenderingMatrix, PDType3Font font, int code, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphdisplacement - the displacement (i.e. advance) of the glyph in text spaceIOException - if the glyph cannot be processedpublic void beginMarkedContentSequence(COSName tag, COSDictionary properties)
tag - indicates the role or significance of the sequenceproperties - optional propertiespublic void endMarkedContentSequence()
public void processOperator(String operation, List<COSBase> arguments) throws IOException
operation - The operation to perform.arguments - The list of arguments.IOException - If there is an error processing the operation.protected void processOperator(Operator operator, List<COSBase> operands) throws IOException
operator - The operation to perform.operands - The list of arguments.IOException - If there is an error processing the operation.protected void unsupportedOperator(Operator operator, List<COSBase> operands) throws IOException
operator - The unknown operator.operands - The list of operands.IOExceptionprotected void operatorException(Operator operator, List<COSBase> operands, IOException e) throws IOException
operator - The unknown operator.operands - The list of operands.IOExceptionpublic void saveGraphicsState()
public void restoreGraphicsState()
protected final Deque<PDGraphicsState> saveGraphicsStack()
protected final void restoreGraphicsStack(Deque<PDGraphicsState> snapshot)
public int getGraphicsStackSize()
public PDGraphicsState getGraphicsState()
public Matrix getTextLineMatrix()
public void setTextLineMatrix(Matrix value)
value - The textLineMatrix to set.public Matrix getTextMatrix()
public void setTextMatrix(Matrix value)
value - The textMatrix to set.public void setLineDashPattern(COSArray array, int phase)
array - dash arrayphase - dash phasepublic PDResources getResources()
OperatorProcessor
classes.public PDPage getCurrentPage()
public Matrix getInitialMatrix()
public Point2D.Float transformedPoint(float x, float y)
protected float transformWidth(float width)
public int getLevel()
public void increaseLevel()
public void decreaseLevel()
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.