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.
|
boolean |
addOperatorIfAbsent(OperatorProcessor op)
Adds an operator processor to the engine if there isn't an operator already associated with the PDF operator.
|
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 initialise and process the contents of the stream.
|
protected void |
processSoftMask(PDTransparencyGroup group)
Processes a soft mask transparency group stream.
|
void |
processStream(PDContentStream contentStream)
Process a content 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,
String unicode,
Vector displacement)
Called when a glyph is to be processed.This method is intended for overriding in subclasses, the default
implementation does nothing.
|
void |
showForm(PDFormXObject form)
Shows a form from the content stream.
|
protected void |
showGlyph(Matrix textRenderingMatrix,
PDFont font,
int code,
String unicode,
Vector displacement)
Called when a glyph is to be processed.This method is intended for overriding in subclasses, the default
implementation does nothing.
|
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,
String unicode,
Vector displacement)
Called when a glyph is to be processed.This method is intended for overriding in subclasses, the default
implementation does nothing.
|
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 final boolean addOperatorIfAbsent(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 MatrixIOExceptionprotected void processAnnotation(PDAnnotation annotation, PDAppearanceStream appearance) throws IOException
annotation - The annotation containing the appearance stream to process.appearance - The appearance stream to process.IOExceptionprotected 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.IOExceptionprotected 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.IOExceptionpublic 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
contentStream - the child content streamIOException - if there is an exception while processing the streampublic void processStream(PDContentStream contentStream) throws IOException
contentStream - the content streamIOException - 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)
throws IOException
tx - x-translationty - y-translationIOExceptionprotected 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, String unicode, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphunicode - the Unicode text for this glyph, or null if the PDF does provide itdisplacement - 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, String unicode, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphunicode - the Unicode text for this glyph, or null if the PDF does provide itdisplacement - 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, String unicode, Vector displacement) throws IOException
textRenderingMatrix - the current text rendering matrix, Trmfont - the current fontcode - internal PDF character code for the glyphunicode - the Unicode text for this glyph, or null if the PDF does provide itdisplacement - the displacement (i.e. advance) of the glyph in text spaceIOException - if the glyph cannot be processedpublic void beginMarkedContentSequence(COSName tag, COSDictionary properties)
tag - content tagproperties - 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 classespublic 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 © 2020 sejda. All rights reserved.