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 |
beginText()
Called when the BT operator is encountered.
|
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() |
int |
getGraphicsStackSize() |
PDGraphicsState |
getGraphicsState() |
Matrix |
getInitialMatrix()
Gets the stream's initial matrix.
|
PDResources |
getResources() |
Matrix |
getTextLineMatrix() |
Matrix |
getTextMatrix() |
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.
|
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.
|
void |
registerOperatorProcessor(String operator,
OperatorProcessor op)
Deprecated.
Use
addOperator(OperatorProcessor) instead |
protected void |
restoreGraphicsStack(Stack<PDGraphicsState> snapshot)
Restores the entire graphics stack.
|
void |
restoreGraphicsState()
Pops the current graphics state from the stack.
|
protected Stack<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.
|
@Deprecated public void registerOperatorProcessor(String operator, OperatorProcessor op)
addOperator(OperatorProcessor)
insteadoperator
- The operator as a string.op
- Processor instance.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
- the transparency group.IOException
protected void processTransparencyGroup(PDTransparencyGroup group) throws IOException
group
- the transparency group.IOException
protected 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
- the current pageIOException
- 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-translationIOException
- if something went wrongprotected 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 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.IOException
- if something went wrongprotected void operatorException(Operator operator, List<COSBase> operands, IOException e) throws IOException
operator
- The unknown operator.operands
- The list of operands.e
- the thrown exception.IOException
- if something went wrongpublic void saveGraphicsState()
public void restoreGraphicsState()
protected final Stack<PDGraphicsState> saveGraphicsStack()
protected final void restoreGraphicsStack(Stack<PDGraphicsState> snapshot)
snapshot
- the graphics state stack to be restored.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)
x
- x-coordinate of the point to be transformed.y
- y-coordinate of the point to be transformed.protected float transformWidth(float width)
width
- the width value to be transformed.Copyright © 2002–2018 The Apache Software Foundation. All rights reserved.