Class PreflightStreamEngine
java.lang.Object
org.apache.pdfbox.contentstream.PDFStreamEngine
org.apache.pdfbox.preflight.content.PreflightStreamEngine
- Direct Known Subclasses:
PreflightContentStream
,PreflightType3Stream
This class inherits from org.apache.pdfbox.util.PDFStreamEngine to allow the validation of specific rules in
ContentStream.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PreflightContext
protected COSDocument
protected PDPage
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkColorOperators
(String operation) This method validates if the ColorOperator can be used with the color space defined in OutputIntent dictionaries.protected void
checkSetColorSpaceOperators
(Operator operator, List<COSBase> arguments) This method validates if the ColorSpace used as operand is consistent with the color space defined in OutputIntent dictionaries.private PDColorSpace
getColorSpace
(String operation) private ColorSpaceHelper
private boolean
isDeviceIndependent
(PDColorSpace cs, PreflightStreamEngine.ColorSpaceType expectedIccType) protected void
registerError
(String msg, String errorCode) Add a validation error into the PreflightContextprotected void
registerError
(String msg, String errorCode, boolean warning) void
registerError
(String msg, String errorCode, boolean warning, Throwable cause) void
registerError
(String msg, String errorCode, Throwable cause) private COSBase
toLongName
(COSBase cs) (package private) void
validateDefaultColorSpace
(Operator operator) In some cases, the colorspace isn't checked because defaults (/DeviceGray) is used.protected void
validateInlineImageColorSpace
(Operator operator) This method validates if the ColorSpace used by the InlinedImage is consistent with the color space defined in OutputIntent dictionaries.protected void
validateInlineImageFilter
(Operator operator) Throw a ContentStreamException if the LZW filter is used in a InlinedImage.protected void
validateNumberOfGraphicStates
(Operator operator) Valid the number of graphic states if the operator is the Save Graphic state operator ("q")protected void
validateRenderingIntent
(Operator operator, List<COSBase> arguments) Check operands of the "ri" operator.private boolean
validColorSpace
(PDColorSpace colorSpace, PreflightStreamEngine.ColorSpaceType expectedIccType) private boolean
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
-
context
-
cosDocument
-
processedPage
-
-
Constructor Details
-
PreflightStreamEngine
-
-
Method Details
-
validateRenderingIntent
protected void validateRenderingIntent(Operator operator, List<COSBase> arguments) throws ContentStreamException Check operands of the "ri" operator. Operands must exist in the RenderingIntent list. (org.apache.pdfbox.preflight.utils.RenderingIntents)- Parameters:
operator
- the "ri" operatorarguments
- the "ri" operands- Throws:
ContentStreamException
- ERROR_GRAPHIC_UNEXPECTED_VALUE_FOR_KEY if the operand is invalid
-
validateNumberOfGraphicStates
Valid the number of graphic states if the operator is the Save Graphic state operator ("q")- Parameters:
operator
-- Throws:
ContentStreamException
-
validateInlineImageFilter
Throw a ContentStreamException if the LZW filter is used in a InlinedImage.- Parameters:
operator
- the InlinedImage object (BI to EI)- Throws:
ContentStreamException
-
validateInlineImageColorSpace
This method validates if the ColorSpace used by the InlinedImage is consistent with the color space defined in OutputIntent dictionaries.- Parameters:
operator
- the InlinedImage object (BI to EI)- Throws:
IOException
-
getColorSpaceHelper
-
toLongName
-
checkColorOperators
This method validates if the ColorOperator can be used with the color space defined in OutputIntent dictionaries.- Parameters:
operation
- the color operator- Throws:
ContentStreamException
-
validateDefaultColorSpace
In some cases, the colorspace isn't checked because defaults (/DeviceGray) is used. Thus we need to check all text output, stroke and fill for /DeviceGray.- Parameters:
operator
- an operator.- Throws:
ContentStreamException
-
validColorSpace
private boolean validColorSpace(PDColorSpace colorSpace, PreflightStreamEngine.ColorSpaceType expectedIccType) throws ContentStreamException - Throws:
ContentStreamException
-
validColorSpaceDestOutputProfile
private boolean validColorSpaceDestOutputProfile(PreflightStreamEngine.ColorSpaceType expectedType) throws ContentStreamException - Throws:
ContentStreamException
-
isDeviceIndependent
private boolean isDeviceIndependent(PDColorSpace cs, PreflightStreamEngine.ColorSpaceType expectedIccType) -
getColorSpace
-
checkSetColorSpaceOperators
protected void checkSetColorSpaceOperators(Operator operator, List<COSBase> arguments) throws IOException This method validates if the ColorSpace used as operand is consistent with the color space defined in OutputIntent dictionaries.- Parameters:
operator
-arguments
-- Throws:
IOException
-
registerError
Add a validation error into the PreflightContext- Parameters:
msg
- exception detailserrorCode
- the error code.
-
registerError
-
registerError
-
registerError
-