Package org.apache.pdfbox.contentstream
Class PDFGraphicsStreamEngine
java.lang.Object
org.apache.pdfbox.contentstream.PDFStreamEngine
org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Direct Known Subclasses:
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 void
appendRectangle
(Point2D p0, Point2D p1, Point2D p2, Point2D p3) Append a rectangle to the current path.abstract void
clip
(int windingRule) Modify the current clipping path by intersecting it with the current path.abstract void
Closes the current path.abstract void
curveTo
(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 void
Draw the image.abstract void
endPath()
Ends the current path without filling or stroking it.abstract void
fillAndStrokePath
(int windingRule) Fills and then strokes the path.abstract void
fillPath
(int windingRule) Fill the path.abstract Point2D
Returns the current point of the current path.protected final PDPage
getPage()
Returns the page.abstract void
lineTo
(float x, float y) Draws a line from the current point to (x,y).abstract void
moveTo
(float x, float y) Starts a new path at (x,y).abstract void
shadingFill
(COSName shadingName) Fill with Shading.abstract void
Stroke 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, 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
-
Field Details
-
page
-
-
Constructor Details
-
PDFGraphicsStreamEngine
Constructor.
-
-
Method Details
-
getPage
Returns the page.- Returns:
- the 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
- 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
Draw the image.- Parameters:
pdImage
- The image to draw.- Throws:
IOException
- if something went wrong.
-
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 something went wrong.
-
moveTo
Starts 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
Draws 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 IOException Draws 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
Returns the current point of the current path.- Returns:
- the current point.
- Throws:
IOException
- if something went wrong.
-
closePath
Closes the current path.- Throws:
IOException
- if something went wrong.
-
endPath
Ends the current path without filling or stroking it. The clipping path is updated here.- Throws:
IOException
- if something went wrong.
-
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 something went wrong.
-
fillAndStrokePath
Fills and then strokes the path.- Parameters:
windingRule
- The winding rule this path will use.- Throws:
IOException
- if something went wrong.
-
shadingFill
Fill with Shading.- Parameters:
shadingName
- The name of the Shading Dictionary to use for this fill instruction.- Throws:
IOException
- if something went wrong.
-