Package org.apache.pdfbox.rendering
Class PageDrawer
- java.lang.Object
-
- org.apache.pdfbox.contentstream.PDFStreamEngine
-
- org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
-
- org.apache.pdfbox.rendering.PageDrawer
-
public class PageDrawer extends PDFGraphicsStreamEngine
Paints a page in a PDF document to a Graphics context. May be subclassed to provide custom rendering.If you want to do custom graphics processing rather than Graphics2D rendering, then you should subclass
PDFGraphicsStreamEngineinstead. Subclassing PageDrawer is only suitable for cases where the goal is to render onto aGraphics2Dsurface. In that case you'll also have to subclassPDFRendererand overridePDFRenderer.createPageDrawer(PageDrawerParameters). See the OpaquePDFRenderer.java example in the source code download on how to do this.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classPageDrawer.TransparencyGroupTransparency group.
-
Field Summary
Fields Modifier and Type Field Description private AnnotationFilterannotationFilterDefault annotations filter, returns all annotationsprivate java.util.Map<COSBase,java.lang.Boolean>blendModeMapprivate intclipWindingRuleprivate RenderDestinationdestinationprivate booleanflipTGprivate java.util.Map<PDFont,GlyphCache>glyphCachesprivate java.awt.Graphics2Dgraphicsprivate floatimageDownscalingOptimizationThresholdprivate java.awt.ShapeinitialClipprivate java.awt.image.LookupTableinvTableprivate static booleanIS_LINUXprivate static booleanIS_WINDOWSprivate java.util.List<java.awt.geom.Path2D>lastClipsprivate java.awt.geom.GeneralPathlinePathprivate static org.apache.commons.logging.LogLOGprivate intnestedHiddenOCGCountprivate static java.lang.StringOS_NAMEprivate PDRectanglepageSizeprivate PDFRendererrendererprivate java.awt.RenderingHintsrenderingHintsprivate booleansubsamplingAllowedprivate java.util.List<java.awt.Shape>textClippingsprivate TilingPaintFactorytilingPaintFactoryprivate java.util.Deque<PageDrawer.TransparencyGroup>transparencyGroupStackprivate java.awt.geom.AffineTransformxformprivate floatxformScalingFactorXprivate floatxformScalingFactorY
-
Constructor Summary
Constructors Constructor Description PageDrawer(PageDrawerParameters parameters)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.awt.geom.GeneralPathadjustClip(java.awt.geom.GeneralPath linePath)PDFBOX-5715 / PR#73: This was added to fix a problem with missing fine lines when printing on MacOS.private java.awt.image.BufferedImageadjustImage(java.awt.image.BufferedImage gray)voidappendRectangle(java.awt.geom.Point2D p0, java.awt.geom.Point2D p1, java.awt.geom.Point2D p2, java.awt.geom.Point2D p3)Append a rectangle to the current path.private java.awt.PaintapplySoftMaskToPaint(java.awt.Paint parentPaint, PDSoftMask softMask)private java.awt.image.BufferedImageapplyTransferFunction(java.awt.image.BufferedImage image, COSBase transfer)voidbeginMarkedContentSequence(COSName tag, COSDictionary properties)Called when a marked content group beginsvoidbeginText()Called when the BT operator is encountered.private voidbeginTextClip()Begin buffering the text clipping path, if any.private floatclampColor(float color)voidclip(int windingRule)Modify the current clipping path by intersecting it with the current path.voidclosePath()Closes the current path.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.private voiddrawBufferedImage(PDImage pdImage, java.awt.image.BufferedImage image, java.awt.geom.AffineTransform at)private voiddrawGlyph(java.awt.geom.GeneralPath path, PDFont font, int code, Vector displacement, java.awt.geom.AffineTransform at)Renders a glyph.voiddrawImage(PDImage pdImage)Draw the image.voiddrawPage(java.awt.Graphics2D g, PDRectangle pageSize)Draws the page to the requested context.(package private) voiddrawTilingPattern(java.awt.Graphics2D g, PDTilingPattern pattern, PDColorSpace colorSpace, PDColor color, Matrix patternMatrix)Draws the pattern stream to the requested context.voidendMarkedContentSequence()Called when a marked content group endsvoidendPath()Ends the current path without filling or stroking it.voidendText()Called when the ET operator is encountered.private voidendTextClip()End buffering the text clipping path, if any.voidfillAndStrokePath(int windingRule)Fills and then strokes the path.voidfillPath(int windingRule)Fill the path.AnnotationFiltergetAnnotationFilter()Return the AnnotationFilter.java.awt.geom.Point2DgetCurrentPoint()Returns the current point of the current path.private float[]getDashArray(PDLineDashPattern dashPattern)protected java.awt.Graphics2DgetGraphics()Returns the underlying Graphics2D.private java.awt.image.LookupTablegetInvLookupTable()protected java.awt.geom.GeneralPathgetLinePath()Returns the current line path.protected java.awt.PaintgetNonStrokingPaint()Returns the non-stroking AWT Paint.protected java.awt.PaintgetPaint(PDColor color)Returns an AWT paint for the given PDColor.PDFRenderergetRenderer()Returns the parent renderer.private java.awt.StrokegetStroke()private java.awt.PaintgetStrokingPaint()protected intgetSubsampling(PDImage pdImage, java.awt.geom.AffineTransform at)Calculates the subsampling frequency for a given PDImage based on the current transformation and its calculated transform.private booleanhasBlendMode(PDTransparencyGroup group, java.util.Set<COSBase> groupsDone)private booleanhasTransparency(PDFormXObject form)private voidintersectShadingBBox(PDColor color, java.awt.geom.Area area)private booleanisAllZeroDash(float[] dashArray)private booleanisContentRendered()private booleanisHiddenAndVisibilityExpression(COSArray veArray)private booleanisHiddenNotVisibilityExpression(COSArray veArray)private booleanisHiddenOCG(PDPropertyList propertyList)private booleanisHiddenOCMD(PDOptionalContentMembershipDictionary ocmd)private booleanisHiddenOrVisibilityExpression(COSArray veArray)private booleanisHiddenVisibilityExpression(COSArray veArray)private booleanisRectangular(java.awt.geom.GeneralPath path)Returns true if the given path is rectangular.voidlineTo(float x, float y)Draws a line from the current point to (x,y).voidmoveTo(float x, float y)Starts a new path at (x,y).voidsetAnnotationFilter(AnnotationFilter annotationFilter)Set the AnnotationFilter.protected voidsetClip()Sets the clipping path using caching for performance.private voidsetRenderingHints()Sets high-quality rendering hints on the current Graphics2D.voidshadingFill(COSName shadingName)Fill with Shading.private booleanshouldSkipAnnotation(PDAnnotation annotation)voidshowAnnotation(PDAnnotation annotation)Shows the given annotation.protected voidshowFontGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement)Called when a glyph is to be processed.voidshowForm(PDFormXObject form)Shows a form from the content stream.voidshowTransparencyGroup(PDTransparencyGroup form)Shows a transparency group from the content stream.protected voidshowTransparencyGroupOnGraphics(PDTransparencyGroup form, java.awt.Graphics2D graphics)For advanced users, to extract the transparency group into a separate graphics device.protected voidshowType3Glyph(Matrix textRenderingMatrix, PDType3Font font, int code, Vector displacement)Called when a glyph is to be processed.voidstrokePath()Stroke the path.protected voidtransferClip(java.awt.Graphics2D graphics)Transfer clip to the destination device.-
Methods inherited from class org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
getPage
-
Methods inherited from class org.apache.pdfbox.contentstream.PDFStreamEngine
addOperator, applyTextAdjustment, decreaseLevel, 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, showGlyph, showText, showTextString, showTextStrings, transformedPoint, transformWidth, unsupportedOperator
-
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
OS_NAME
private static final java.lang.String OS_NAME
-
IS_WINDOWS
private static final boolean IS_WINDOWS
-
IS_LINUX
private static final boolean IS_LINUX
-
renderer
private final PDFRenderer renderer
-
subsamplingAllowed
private final boolean subsamplingAllowed
-
graphics
private java.awt.Graphics2D graphics
-
xform
private java.awt.geom.AffineTransform xform
-
xformScalingFactorX
private float xformScalingFactorX
-
xformScalingFactorY
private float xformScalingFactorY
-
pageSize
private PDRectangle pageSize
-
flipTG
private boolean flipTG
-
clipWindingRule
private int clipWindingRule
-
linePath
private java.awt.geom.GeneralPath linePath
-
lastClips
private java.util.List<java.awt.geom.Path2D> lastClips
-
initialClip
private java.awt.Shape initialClip
-
textClippings
private java.util.List<java.awt.Shape> textClippings
-
glyphCaches
private final java.util.Map<PDFont,GlyphCache> glyphCaches
-
tilingPaintFactory
private final TilingPaintFactory tilingPaintFactory
-
transparencyGroupStack
private final java.util.Deque<PageDrawer.TransparencyGroup> transparencyGroupStack
-
nestedHiddenOCGCount
private int nestedHiddenOCGCount
-
destination
private final RenderDestination destination
-
renderingHints
private final java.awt.RenderingHints renderingHints
-
imageDownscalingOptimizationThreshold
private final float imageDownscalingOptimizationThreshold
-
invTable
private java.awt.image.LookupTable invTable
-
blendModeMap
private final java.util.Map<COSBase,java.lang.Boolean> blendModeMap
-
annotationFilter
private AnnotationFilter annotationFilter
Default annotations filter, returns all annotations
-
-
Constructor Detail
-
PageDrawer
public PageDrawer(PageDrawerParameters parameters) throws java.io.IOException
Constructor.- Parameters:
parameters- Parameters for page drawing.- Throws:
java.io.IOException- If there is an error loading properties from the file.
-
-
Method Detail
-
getAnnotationFilter
public AnnotationFilter getAnnotationFilter()
Return the AnnotationFilter.- Returns:
- the AnnotationFilter
-
setAnnotationFilter
public void setAnnotationFilter(AnnotationFilter annotationFilter)
Set the AnnotationFilter.Allows to only render annotation accepted by the filter.
- Parameters:
annotationFilter- the AnnotationFilter
-
getRenderer
public final PDFRenderer getRenderer()
Returns the parent renderer.- Returns:
- the parent renderer
-
getGraphics
protected final java.awt.Graphics2D getGraphics()
Returns the underlying Graphics2D. May be null if drawPage has not yet been called.- Returns:
- the underlying Graphics2D
-
getLinePath
protected final java.awt.geom.GeneralPath getLinePath()
Returns the current line path. This is reset to empty after each fill/stroke.- Returns:
- the current line path
-
setRenderingHints
private void setRenderingHints()
Sets high-quality rendering hints on the current Graphics2D.
-
drawPage
public void drawPage(java.awt.Graphics2D g, PDRectangle pageSize) throws java.io.IOExceptionDraws the page to the requested context.- Parameters:
g- The graphics context to draw onto.pageSize- The size of the page to draw.- Throws:
java.io.IOException- If there is an IO error while drawing the page.
-
drawTilingPattern
void drawTilingPattern(java.awt.Graphics2D g, PDTilingPattern pattern, PDColorSpace colorSpace, PDColor color, Matrix patternMatrix) throws java.io.IOExceptionDraws the pattern stream to the requested context.- Parameters:
g- The graphics context to draw onto.pattern- The tiling pattern to be used.colorSpace- color space for this tiling.color- color for this tiling.patternMatrix- the pattern matrix- Throws:
java.io.IOException- If there is an IO error while drawing the page.
-
clampColor
private float clampColor(float color)
-
getPaint
protected java.awt.Paint getPaint(PDColor color) throws java.io.IOException
Returns an AWT paint for the given PDColor.- Parameters:
color- The color to get a paint for. This can be an actual color or a pattern.- Returns:
- an AWT paint for the given PDColor
- Throws:
java.io.IOException- if the AWT paint could not be created
-
setClip
protected final void setClip()
Sets the clipping path using caching for performance. We track lastClip manually becauseGraphics.getClip()returns a new object instead of the same one passed tosetClip(). You may need to call this if you overrideshowGlyph(). See PDFBOX-5093 for more.
-
transferClip
protected void transferClip(java.awt.Graphics2D graphics)
Transfer clip to the destination device. Override this if you want to avoid to do slow intersecting operations but want the destination device to do this (e.g. SVG). You can get the individual clippings viaPDGraphicsState.getCurrentClippingPaths(). See PDFBOX-5258 for sample code.- Parameters:
graphics- graphics device
-
beginText
public void beginText() throws java.io.IOExceptionDescription copied from class:PDFStreamEngineCalled when the BT operator is encountered. This method is for overriding in subclasses, the default implementation does nothing.- Overrides:
beginTextin classPDFStreamEngine- Throws:
java.io.IOException- if there was an error processing the text
-
endText
public void endText() throws java.io.IOExceptionDescription copied from class:PDFStreamEngineCalled when the ET operator is encountered. This method is for overriding in subclasses, the default implementation does nothing.- Overrides:
endTextin classPDFStreamEngine- Throws:
java.io.IOException- if there was an error processing the text
-
beginTextClip
private void beginTextClip()
Begin buffering the text clipping path, if any.
-
endTextClip
private void endTextClip()
End buffering the text clipping path, if any.
-
showFontGlyph
protected void showFontGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement) throws java.io.IOException
Description copied from class:PDFStreamEngineCalled when a glyph is to be processed. This method is intended for overriding in subclasses, the default implementation does nothing.- Overrides:
showFontGlyphin classPDFStreamEngine- Parameters:
textRenderingMatrix- the current text rendering matrix, Trmfont- the current fontcode- internal PDF character code for the glyphdisplacement- the displacement (i.e. advance) of the glyph in text space- Throws:
java.io.IOException- if the glyph cannot be processed
-
drawGlyph
private void drawGlyph(java.awt.geom.GeneralPath path, PDFont font, int code, Vector displacement, java.awt.geom.AffineTransform at) throws java.io.IOExceptionRenders a glyph.- Parameters:
path- the GeneralPath for the glyphfont- the fontcode- character codedisplacement- the glyph's displacement (advance)at- the transformation- Throws:
java.io.IOException- if something went wrong
-
showType3Glyph
protected void showType3Glyph(Matrix textRenderingMatrix, PDType3Font font, int code, Vector displacement) throws java.io.IOException
Description copied from class:PDFStreamEngineCalled when a glyph is to be processed. This method is intended for overriding in subclasses, the default implementation does nothing.- Overrides:
showType3Glyphin classPDFStreamEngine- Parameters:
textRenderingMatrix- the current text rendering matrix, Trmfont- the current fontcode- internal PDF character code for the glyphdisplacement- the displacement (i.e. advance) of the glyph in text space- Throws:
java.io.IOException- if the glyph cannot be processed
-
appendRectangle
public void appendRectangle(java.awt.geom.Point2D p0, java.awt.geom.Point2D p1, java.awt.geom.Point2D p2, java.awt.geom.Point2D p3)Description copied from class:PDFGraphicsStreamEngineAppend a rectangle to the current path.- Specified by:
appendRectanglein classPDFGraphicsStreamEngine- Parameters:
p0- starting coordinate of the rectanglep1- second coordinate of the rectanglep2- third coordinate of the rectanglep3- last coordinate of the rectangle
-
applySoftMaskToPaint
private java.awt.Paint applySoftMaskToPaint(java.awt.Paint parentPaint, PDSoftMask softMask) throws java.io.IOException- Throws:
java.io.IOException
-
adjustImage
private java.awt.image.BufferedImage adjustImage(java.awt.image.BufferedImage gray)
-
getStrokingPaint
private java.awt.Paint getStrokingPaint() throws java.io.IOException- Throws:
java.io.IOException
-
getNonStrokingPaint
protected final java.awt.Paint getNonStrokingPaint() throws java.io.IOExceptionReturns the non-stroking AWT Paint. You may need to call this if you overrideshowGlyph(). See PDFBOX-5093 for more.- Returns:
- The non-stroking AWT Paint.
- Throws:
java.io.IOException- if the non-stroking AWT Paint could not be created
-
getStroke
private java.awt.Stroke getStroke()
-
isAllZeroDash
private boolean isAllZeroDash(float[] dashArray)
-
getDashArray
private float[] getDashArray(PDLineDashPattern dashPattern)
-
strokePath
public void strokePath() throws java.io.IOExceptionDescription copied from class:PDFGraphicsStreamEngineStroke the path.- Specified by:
strokePathin classPDFGraphicsStreamEngine- Throws:
java.io.IOException- If there is an IO error while stroking the path.
-
fillPath
public void fillPath(int windingRule) throws java.io.IOExceptionDescription copied from class:PDFGraphicsStreamEngineFill the path.- Specified by:
fillPathin classPDFGraphicsStreamEngine- Parameters:
windingRule- The winding rule this path will use.- Throws:
java.io.IOException- if the path could not be filled
-
intersectShadingBBox
private void intersectShadingBBox(PDColor color, java.awt.geom.Area area) throws java.io.IOException
- Throws:
java.io.IOException
-
isRectangular
private boolean isRectangular(java.awt.geom.GeneralPath path)
Returns true if the given path is rectangular.
-
fillAndStrokePath
public void fillAndStrokePath(int windingRule) throws java.io.IOExceptionFills and then strokes the path.- Specified by:
fillAndStrokePathin classPDFGraphicsStreamEngine- Parameters:
windingRule- The winding rule this path will use.- Throws:
java.io.IOException- If there is an IO error while filling the path.
-
clip
public void clip(int windingRule)
Description copied from class:PDFGraphicsStreamEngineModify 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.- Specified by:
clipin classPDFGraphicsStreamEngine- Parameters:
windingRule- The winding rule which will be used for clipping.
-
moveTo
public void moveTo(float x, float y)Description copied from class:PDFGraphicsStreamEngineStarts a new path at (x,y).- Specified by:
moveToin classPDFGraphicsStreamEngine- Parameters:
x- the x-coordinate to move toy- the y-coordinate to move to
-
lineTo
public void lineTo(float x, float y)Description copied from class:PDFGraphicsStreamEngineDraws a line from the current point to (x,y).- Specified by:
lineToin classPDFGraphicsStreamEngine- 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
-
curveTo
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)Description copied from class:PDFGraphicsStreamEngineDraws a curve from the current point to (x3,y3) using (x1,y1) and (x2,y2) as control points.- Specified by:
curveToin classPDFGraphicsStreamEngine- 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
-
getCurrentPoint
public java.awt.geom.Point2D getCurrentPoint()
Description copied from class:PDFGraphicsStreamEngineReturns the current point of the current path.- Specified by:
getCurrentPointin classPDFGraphicsStreamEngine- Returns:
- the current point or null
-
closePath
public void closePath()
Description copied from class:PDFGraphicsStreamEngineCloses the current path.- Specified by:
closePathin classPDFGraphicsStreamEngine
-
endPath
public void endPath()
Description copied from class:PDFGraphicsStreamEngineEnds the current path without filling or stroking it. The clipping path is updated here.- Specified by:
endPathin classPDFGraphicsStreamEngine
-
adjustClip
private java.awt.geom.GeneralPath adjustClip(java.awt.geom.GeneralPath linePath)
PDFBOX-5715 / PR#73: This was added to fix a problem with missing fine lines when printing on MacOS. Lines vanish because CPrinterJob sets graphics scale to 1 for Printable so after scaling lines often have a width smaller than 1 after scaling and clipping. This change enlarges the clip bounds to cover at least 1 point plus 0.5 on one and another side in the device space to allow to draw the linePath inside the clip. The linePath can consists from different lines but when its bounds width or height is less than 1.0 it seems safe to use a rectangle as a clip instead of the real path. A more detailed explanation can be read here.- Parameters:
linePath-- Returns:
-
drawImage
public void drawImage(PDImage pdImage) throws java.io.IOException
Description copied from class:PDFGraphicsStreamEngineDraw the image.- Specified by:
drawImagein classPDFGraphicsStreamEngine- Parameters:
pdImage- The image to draw.- Throws:
java.io.IOException- if the image could not be drawn
-
getSubsampling
protected int getSubsampling(PDImage pdImage, java.awt.geom.AffineTransform at)
Calculates the subsampling frequency for a given PDImage based on the current transformation and its calculated transform. Extend this method if you want to use your own strategy.- Parameters:
pdImage- PDImage to be drawnat- Transform that will be applied to the image when drawing- Returns:
- The rounded-down ratio of image pixels to drawn pixels. Returned value will always be >=1.
-
drawBufferedImage
private void drawBufferedImage(PDImage pdImage, java.awt.image.BufferedImage image, java.awt.geom.AffineTransform at) throws java.io.IOException
- Throws:
java.io.IOException
-
applyTransferFunction
private java.awt.image.BufferedImage applyTransferFunction(java.awt.image.BufferedImage image, COSBase transfer) throws java.io.IOException- Throws:
java.io.IOException
-
shadingFill
public void shadingFill(COSName shadingName) throws java.io.IOException
Description copied from class:PDFGraphicsStreamEngineFill with Shading.- Specified by:
shadingFillin classPDFGraphicsStreamEngine- Parameters:
shadingName- The name of the Shading Dictionary to use for this fill instruction.- Throws:
java.io.IOException- if the path could not be filled using the given shading
-
showAnnotation
public void showAnnotation(PDAnnotation annotation) throws java.io.IOException
Description copied from class:PDFStreamEngineShows the given annotation.- Overrides:
showAnnotationin classPDFStreamEngine- Parameters:
annotation- An annotation on the current page.- Throws:
java.io.IOException- If an error occurred reading the annotation
-
shouldSkipAnnotation
private boolean shouldSkipAnnotation(PDAnnotation annotation)
-
hasTransparency
private boolean hasTransparency(PDFormXObject form) throws java.io.IOException
- Throws:
java.io.IOException
-
showForm
public void showForm(PDFormXObject form) throws java.io.IOException
Shows a form from the content stream.- Overrides:
showFormin classPDFStreamEngine- Parameters:
form- form XObject- Throws:
java.io.IOException- if the form cannot be processed
-
showTransparencyGroup
public void showTransparencyGroup(PDTransparencyGroup form) throws java.io.IOException
Description copied from class:PDFStreamEngineShows a transparency group from the content stream.- Overrides:
showTransparencyGroupin classPDFStreamEngine- Parameters:
form- transparency group (form) XObject- Throws:
java.io.IOException- if the transparency group cannot be processed
-
showTransparencyGroupOnGraphics
protected void showTransparencyGroupOnGraphics(PDTransparencyGroup form, java.awt.Graphics2D graphics) throws java.io.IOException
For advanced users, to extract the transparency group into a separate graphics device.- Parameters:
form- the transparency group to be extractedgraphics- the target graphics device- Throws:
java.io.IOException- if the transparency group could not be extracted
-
hasBlendMode
private boolean hasBlendMode(PDTransparencyGroup group, java.util.Set<COSBase> groupsDone)
-
beginMarkedContentSequence
public void beginMarkedContentSequence(COSName tag, COSDictionary properties)
Called when a marked content group begins- Overrides:
beginMarkedContentSequencein classPDFStreamEngine- Parameters:
tag- indicates the role or significance of the sequenceproperties- optional properties
-
endMarkedContentSequence
public void endMarkedContentSequence()
Called when a marked content group ends- Overrides:
endMarkedContentSequencein classPDFStreamEngine
-
isContentRendered
private boolean isContentRendered()
-
isHiddenOCG
private boolean isHiddenOCG(PDPropertyList propertyList)
-
isHiddenOCMD
private boolean isHiddenOCMD(PDOptionalContentMembershipDictionary ocmd)
-
isHiddenVisibilityExpression
private boolean isHiddenVisibilityExpression(COSArray veArray)
-
isHiddenAndVisibilityExpression
private boolean isHiddenAndVisibilityExpression(COSArray veArray)
-
isHiddenOrVisibilityExpression
private boolean isHiddenOrVisibilityExpression(COSArray veArray)
-
isHiddenNotVisibilityExpression
private boolean isHiddenNotVisibilityExpression(COSArray veArray)
-
getInvLookupTable
private java.awt.image.LookupTable getInvLookupTable()
-
-