Package org.apache.pdfbox.contentstream
Class PDFGraphicsStreamEngine
java.lang.Object
org.apache.pdfbox.contentstream.PDFStreamEngine
org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Direct Known Subclasses:
CustomGraphicsStreamEngine,ExtractImages.ImageGraphicsEngine,PageDrawer
PDFStreamEngine subclass for advanced processing of graphics.
This class should be subclassed by end users looking to hook into graphics operations.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidappendRectangle(Point2D p0, Point2D p1, Point2D p2, Point2D p3) Append a rectangle to the current path.abstract voidclip(int windingRule) Modify the current clipping path by intersecting it with the current path.abstract voidCloses 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 voidDraw the image.abstract voidendPath()Ends the current path without filling or stroking it.abstract voidfillAndStrokePath(int windingRule) Fills and then strokes the path.abstract voidfillPath(int windingRule) Fill the path.abstract Point2DReturns the current point of the current path.protected final 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 voidStroke the path.Methods inherited from class org.apache.pdfbox.contentstream.PDFStreamEngine
addOperator, applyTextAdjustment, beginMarkedContentSequence, beginText, decreaseLevel, endMarkedContentSequence, endText, getAppearance, getCurrentPage, getGraphicsStackSize, getGraphicsState, getInitialMatrix, getLevel, getResources, getTextLineMatrix, getTextMatrix, increaseLevel, isShouldProcessColorOperators, markedContentPoint, operatorException, processAnnotation, processChildStream, processOperator, processOperator, processPage, processSoftMask, processTilingPattern, processTilingPattern, processTransparencyGroup, processType3Stream, restoreGraphicsStack, restoreGraphicsState, saveGraphicsStack, saveGraphicsState, setLineDashPattern, setTextLineMatrix, setTextMatrix, showAnnotation, showFontGlyph, showForm, showGlyph, showText, showTextString, showTextStrings, showTransparencyGroup, showType3Glyph, transformedPoint, transformWidth, unsupportedOperator
-
Field Details
-
page
-
-
Constructor Details
-
PDFGraphicsStreamEngine
Constructor.- Parameters:
page- the page the content stream belongs to
-
-
Method Details
-
getPage
Returns the page.- Returns:
- the current page
-
appendRectangle
public abstract void appendRectangle(Point2D p0, Point2D p1, Point2D p2, Point2D p3) throws IOException Append a rectangle to the current path.- Parameters:
p0- starting coordinate of the rectanglep1- second coordinate of the rectanglep2- third coordinate of the rectanglep3- last coordinate of the rectangle- Throws:
IOException- if the rectangle could not be appended
-
drawImage
Draw the image.- Parameters:
pdImage- The image to draw.- Throws:
IOException- if the image could not be drawn
-
clip
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 the clipping path could not be modified
-
moveTo
Starts a new path at (x,y).- Parameters:
x- the x-coordinate to move toy- the y-coordinate to move to- Throws:
IOException- if the something went wrong when moving to the given coordinate
-
lineTo
Draws a line from the current point to (x,y).- Parameters:
x- the X-coordinate of the ending-point of the line to be drawny- the Y-coordinate of the ending-point of the line to be drawn- Throws:
IOException- if the line could not be drawn
-
curveTo
public abstract void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) throws IOException Draws a curve from the current point to (x3,y3) using (x1,y1) and (x2,y2) as control points.- Parameters:
x1- the X coordinate of the first Bézier control pointy1- the Y coordinate of the first Bézier control pointx2- the X coordinate of the second Bézier control pointy2- the Y coordinate of the second Bézier control pointx3- the X coordinate of the final end pointy3- the Y coordinate of the final end point- Throws:
IOException- if the curve could not be drawn
-
getCurrentPoint
Returns the current point of the current path.- Returns:
- the current point or null
- Throws:
IOException- if the something went wrong when providing the current point
-
closePath
Closes the current path.- Throws:
IOException- if the current path could not be closed
-
endPath
Ends the current path without filling or stroking it. The clipping path is updated here.- Throws:
IOException- if the current path could not be ended
-
strokePath
Stroke the path.- Throws:
IOException- If there is an IO error while stroking the path.
-
fillPath
Fill the path.- Parameters:
windingRule- The winding rule this path will use.- Throws:
IOException- if the path could not be filled
-
fillAndStrokePath
Fills and then strokes the path.- Parameters:
windingRule- The winding rule this path will use.- Throws:
IOException- if the path could not be filled and stroke
-
shadingFill
Fill with Shading.- Parameters:
shadingName- The name of the Shading Dictionary to use for this fill instruction.- Throws:
IOException- if the path could not be filled using the given shading
-