Class PDFGraphicsStreamEngine
- java.lang.Object
-
- com.tom_roush.pdfbox.contentstream.PDFStreamEngine
-
- com.tom_roush.pdfbox.contentstream.PDFGraphicsStreamEngine
-
- Direct Known Subclasses:
PageDrawer
public abstract class PDFGraphicsStreamEngine extends PDFStreamEngine
PDFStreamEngine subclass for advanced processing of graphics. This class should be subclassed by end users looking to hook into graphics operations.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPDFGraphicsStreamEngine(PDPage page)Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidappendRectangle(PointF p0, PointF p1, PointF p2, PointF p3)Append a rectangle to the current path.abstract voidclip(Path.FillType windingRule)Modify the current clipping path by intersecting it with the current path.abstract voidclosePath()Closes the current path.abstract voidcurveTo(float x1, float y1, float x2, float y2, float x3, float y3)Draws a curve from the current point to (x3,y3) using (x1,y1) and (x2,y2) as control points.abstract voiddrawImage(PDImage pdImage)Draw the image.abstract voidendPath()Ends the current path without filling or stroking it.abstract voidfillAndStrokePath(Path.FillType windingRule)Fills and then strokes the path.abstract voidfillPath(Path.FillType windingRule)Fill the path.abstract PointFgetCurrentPoint()Returns the current point of the current path.protected PDPagegetPage()Returns the page.abstract voidlineTo(float x, float y)Draws a line from the current point to (x,y).abstract voidmoveTo(float x, float y)Starts a new path at (x,y).abstract voidshadingFill(COSName shadingName)Fill with Shading.abstract voidstrokePath()Stroke the path.-
Methods inherited from class com.tom_roush.pdfbox.contentstream.PDFStreamEngine
addOperator, applyTextAdjustment, beginMarkedContentSequence, beginText, decreaseLevel, endMarkedContentSequence, endText, getAppearance, getCurrentPage, getGraphicsStackSize, getGraphicsState, getInitialMatrix, getLevel, getResources, getTextLineMatrix, getTextMatrix, increaseLevel, operatorException, processAnnotation, processChildStream, processOperator, processOperator, processPage, processSoftMask, processTilingPattern, processTilingPattern, processTransparencyGroup, processType3Stream, registerOperatorProcessor, restoreGraphicsStack, restoreGraphicsState, saveGraphicsStack, saveGraphicsState, setLineDashPattern, setTextLineMatrix, setTextMatrix, showAnnotation, showFontGlyph, showFontGlyph, showForm, showGlyph, showGlyph, showText, showTextString, showTextStrings, showTransparencyGroup, showType3Glyph, showType3Glyph, transformedPoint, transformWidth, unsupportedOperator
-
-
-
-
Constructor Detail
-
PDFGraphicsStreamEngine
protected PDFGraphicsStreamEngine(PDPage page)
Constructor.
-
-
Method Detail
-
getPage
protected final PDPage getPage()
Returns the page.- Returns:
- the page.
-
appendRectangle
public abstract void appendRectangle(PointF p0, PointF p1, PointF p2, PointF p3) throws IOException
Append a rectangle to the current path.- Parameters:
p0- point P0 of the rectangle.p1- point P1 of the rectangle.p2- point P2 of the rectangle.p3- point P3 of the rectangle.- Throws:
IOException- if something went wrong.
-
drawImage
public abstract void drawImage(PDImage pdImage) throws IOException
Draw the image.- Parameters:
pdImage- The image to draw.- Throws:
IOException- if something went wrong.
-
clip
public abstract void clip(Path.FillType windingRule) throws IOException
Modify the current clipping path by intersecting it with the current path. The clipping path will not be updated until the succeeding painting operator is called.- Parameters:
windingRule- The winding rule which will be used for clipping.- Throws:
IOException- if something went wrong.
-
moveTo
public abstract void moveTo(float x, float y) throws IOExceptionStarts a new path at (x,y).- Parameters:
x- x-coordinate of the target point.y- y-coordinate of the target point.- Throws:
IOException- if something went wrong.
-
lineTo
public abstract void lineTo(float x, float y) throws IOExceptionDraws a line from the current point to (x,y).- Parameters:
x- x-coordinate of the end point of the line.y- y-coordinate of the end point of the line.- Throws:
IOException- if something went wrong.
-
curveTo
public abstract void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) throws IOExceptionDraws a curve from the current point to (x3,y3) using (x1,y1) and (x2,y2) as control points.- Parameters:
x1- x-coordinate of the first control point.y1- y-coordinate of the first control point.x2- x-coordinate of the second control point.y2- y-coordinate of the second control point.x3- x-coordinate of the end point of the curve.y3- y-coordinate of the end point of the curve.- Throws:
IOException- if something went wrong.
-
getCurrentPoint
public abstract PointF getCurrentPoint() throws IOException
Returns the current point of the current path.- Returns:
- the current point.
- Throws:
IOException- if something went wrong.
-
closePath
public abstract void closePath() throws IOExceptionCloses the current path.- Throws:
IOException- if something went wrong.
-
endPath
public abstract void endPath() throws IOExceptionEnds the current path without filling or stroking it. The clipping path is updated here.- Throws:
IOException- if something went wrong.
-
strokePath
public abstract void strokePath() throws IOExceptionStroke the path.- Throws:
IOException- If there is an IO error while stroking the path.
-
fillPath
public abstract void fillPath(Path.FillType windingRule) throws IOException
Fill the path.- Parameters:
windingRule- The winding rule this path will use.- Throws:
IOException- if something went wrong.
-
fillAndStrokePath
public abstract void fillAndStrokePath(Path.FillType windingRule) throws IOException
Fills and then strokes the path.- Parameters:
windingRule- The winding rule this path will use.- Throws:
IOException- if something went wrong.
-
shadingFill
public abstract void shadingFill(COSName shadingName) throws IOException
Fill with Shading.- Parameters:
shadingName- The name of the Shading Dictionary to use for this fill instruction.- Throws:
IOException- if something went wrong.
-
-