Class PdfA4Checker
java.lang.Object
com.itextpdf.pdfa.checker.PdfAChecker
com.itextpdf.pdfa.checker.PdfA1Checker
com.itextpdf.pdfa.checker.PdfA2Checker
com.itextpdf.pdfa.checker.PdfA3Checker
com.itextpdf.pdfa.checker.PdfA4Checker
- All Implemented Interfaces:
IValidationChecker
PdfA4Checker defines the requirements of the PDF/A-4 standard and contains a
number of methods that override the implementations of its superclass
PdfA3Checker.
The specification implemented by this class is ISO 19005-4
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate static final org.slf4j.Loggerprivate static final StringFields inherited from class PdfA3Checker
allowedAFRelationshipsFields inherited from class PdfA2Checker
allowedBlendModes, allowedFilters, allowedInlineImageFilters, forbiddenActions, forbiddenAnnotations, MAX_PAGE_SIZE, MIN_PAGE_SIZE, transparencyObjectsFields inherited from class PdfA1Checker
allowedNamedActions, allowedRenderingIntents, contentAnnotationsFields inherited from class PdfAChecker
checkedObjects, checkedObjectsColorspace, cmykUsedObjects, conformance, EXCEPTION_SUPPLIER, grayUsedObjects, gsStackDepth, ICC_COLOR_SPACE_CMYK, ICC_COLOR_SPACE_GRAY, ICC_COLOR_SPACE_RGB, ICC_DEVICE_CLASS_MONITOR_PROFILE, ICC_DEVICE_CLASS_OUTPUT_PROFILE, maxGsStackDepth, pdfAOutputIntentColorSpace, pdfAOutputIntentDestProfile, rgbUsedObjects -
Constructor Summary
ConstructorsConstructorDescriptionPdfA4Checker(PdfAConformance aConformance) Creates a PdfA4Checker with the required conformance -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckAnnotation(PdfDictionary annotDic) Verify the conformity of the annotation dictionary.protected voidcheckAnnotationAgainstActions(PdfDictionary annotDic) Checked annotation against actions, exception will be thrown if eitherAorAAactions aren't allowed for specific type of annotation.private voidcheckAnnotationsForColorUsages(PdfArray annotations, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) private voidcheckAppearanceStreamForColorUsages(PdfDictionary ap, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) protected voidcheckBlendMode(PdfName blendMode) Check if blendMode is compatible with pdf/a standard being used.voidcheckCanvasStack(char stackOperation) This method checks compliance with the graphics state architectural limitation, explained byPdfAChecker.maxGsStackDepth.protected voidcheckCatalog(PdfCatalog catalog) Verify the conformity of the pdf catalog.protected voidCheck the conformity of the AA dictionary on catalog level.protected voidcheckCatalogValidEntries(PdfDictionary catalogDict) Checks if entries in catalog dictionary are valid.voidcheckColorSpace(PdfColorSpace colorSpace, PdfObject pdfObject, PdfDictionary currentColorSpaces, boolean checkAlternate, Boolean fill) This method performs a range of checks on the given color space, depending on the type and properties of that color space.protected voidCheck optional content configuration dictionary against AS key.private voidcheckContentForColorUsages(PdfObject pdfObject, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) voidcheckExtGState(CanvasGraphicsState extGState, PdfStream contentStream) Performs a number of checks on the graphics state, among others ISO 19005-1 section 6.2.8 and 6.4 and ISO 19005-2 section 6.2.5 and 6.2.10.private voidprotected voidcheckFileSpec(PdfDictionary fileSpec) Verify the conformity of the file specification dictionary.protected voidcheckFormXObject(PdfStream form, PdfStream contentStream) Verify the conformity of the Form XObject with appropriate specification.protected voidcheckMetaData(PdfDictionary catalog) Performs a number of checks on the metadata of the document.protected voidChecks the number of components in DeviceN color space.private voidcheckObjectWithResourcesForColorUsages(PdfObject objectWithResources, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) protected voidcheckOutputIntents(PdfDictionary catalog) Verify the conformity of the output intents array in the catalog dictionary.private voidcheckPacketHeader(byte[] meta) protected voidCheck the conformity of the AA dictionary on catalog level.protected voidcheckPageColorsUsages(PdfDictionary pageDict, PdfDictionary pageResources) Verify the conformity of used color spaces on the page.private voidcheckPageContentsForColorUsages(PdfDictionary pageDict, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) protected voidcheckPageObject(PdfDictionary pageDict, PdfDictionary pageResources) Verify the conformity of the page dictionary.protected voidcheckPageTransparency(PdfDictionary pageDict, PdfDictionary pageResources) Verify the conformity of the page transparency.protected voidcheckPdfNumber(PdfNumber number) Verify the conformity of the PDF number.private voidcheckResourcesForColorUsages(PdfDictionary resources, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) voidcheckSignatureType(boolean isCAdES) This method checks compliance of the signature type.private voidcheckSingleResourceTypeForColorUsages(PdfDictionary singleResourceDict, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) protected voidcheckTrailer(PdfDictionary trailer) Verify the conformity of the trailer dictionary.protected voidCheck the conformity of the AA dictionary on widget level.Gets annotation types which are allowed not to have appearance stream.private static StringgetColorspaceTypeIfIccBasedOrCalRgb(PdfColorSpace colorspace) private static PdfColorSpaceRetrieve forbidden actions in conforming document.Gets forbidden annotation types.protected intRetrieve maximum allowed length of the name object.protected intReturns maximum allowed bytes length of the string in a PDF document.protected StringRetrieve transparency error message valid for the pdf/a standard being used.private static booleanprivate booleanisCMYKColorant(PdfName colourant) private static voidisValidEncoding(byte[] data) private static booleanisValidXmpConformance(String value) A PDF/A-4e conforming file shall specify the value ofpdfa:conformanceas E.private static voidthrowIfIdenticalProfiles(PdfStream iccBasedProfile1, PdfStream iccBasedProfile2) Methods inherited from class PdfA2Checker
checkAnnotationsForTransparency, checkAppearanceStream, checkColor, checkContentsForTransparency, checkFontGlyphs, checkForm, checkFormXObject, checkImage, checkInlineImage, checkNonSymbolicTrueTypeFont, checkPageSize, checkPdfArray, checkPdfDictionary, checkPdfStream, checkResourcesForTransparency, checkSignature, checkTransparencyGroup, getAllowedNamedActions, getMaxRealValueMethods inherited from class PdfA1Checker
checkAction, checkContentStream, checkCrypto, checkFont, checkLogicalStructure, checkPdfName, checkPdfString, checkRenderingIntent, checkSymbolicTrueTypeFont, checkText, checkXrefTable, getFormFields, getMaxIntegerValue, getMaxNumberOfIndirectObjects, getMinIntegerValueMethods inherited from class PdfAChecker
checkContentStreamObject, checkDocument, checkFlag, checkPdfObject, checkResources, checkResourcesOfAppearanceStreams, checkSinglePage, checkStructure, checkTagStructureElement, getAConformance, getPdfAOutputIntent, isAlreadyChecked, isContainsTransparencyGroup, isFullCheckMode, isPdfObjectReadyToFlush, setFullCheckMode, setPdfAOutputIntentColorSpace, validate
-
Field Details
-
CALRGB_COLOR_SPACE
- See Also:
-
forbiddenAnnotations4
-
forbiddenAnnotations4E
-
forbiddenAnnotations4F
-
apLessAnnotations
-
allowedBlendModes4
-
TRANSPARENCY_ERROR_MESSAGE
- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
forbiddenActionsE
-
allowedEntriesInAAWhenNonWidget
-
iccBasedCmykObjects
-
-
Constructor Details
-
PdfA4Checker
Creates a PdfA4Checker with the required conformance- Parameters:
aConformance- the required conformance
-
-
Method Details
-
checkColorSpace
public void checkColorSpace(PdfColorSpace colorSpace, PdfObject pdfObject, PdfDictionary currentColorSpaces, boolean checkAlternate, Boolean fill) This method performs a range of checks on the given color space, depending on the type and properties of that color space.- Overrides:
checkColorSpacein classPdfA2Checker- Parameters:
colorSpace- the color space to checkpdfObject- the pdf object to check color space incurrentColorSpaces- aPdfDictionarycontaining the color spaces used in the documentcheckAlternate- whether or not to also check the parent color spacefill- whether the color space is used for fill or stroke operations
-
checkPageColorsUsages
Verify the conformity of used color spaces on the page.- Overrides:
checkPageColorsUsagesin classPdfA2Checker- Parameters:
pageDict- thePdfDictionarycontains contents for colors to be checkedpageResources- thePdfDictionarycontains resources for colors to be checked
-
checkTrailer
Verify the conformity of the trailer dictionary.- Overrides:
checkTrailerin classPdfA1Checker- Parameters:
trailer- thePdfDictionaryof trailer to check
-
checkCatalog
Verify the conformity of the pdf catalog.- Overrides:
checkCatalogin classPdfA1Checker- Parameters:
catalog- thePdfCatalogof trailer to check
-
checkPageObject
Verify the conformity of the page dictionary.- Overrides:
checkPageObjectin classPdfA2Checker- Parameters:
pageDict- thePdfDictionaryto checkpageResources- the page's resources dictionary
-
checkCatalogValidEntries
Checks if entries in catalog dictionary are valid.- Overrides:
checkCatalogValidEntriesin classPdfA2Checker- Parameters:
catalogDict- the catalogPdfDictionaryto be checked
-
checkFileSpec
Verify the conformity of the file specification dictionary.- Overrides:
checkFileSpecin classPdfA3Checker- Parameters:
fileSpec- thePdfDictionarycontaining file specification to be checked
-
checkPageTransparency
Verify the conformity of the page transparency.- Overrides:
checkPageTransparencyin classPdfA2Checker- Parameters:
pageDict- thePdfDictionarycontains contents for transparency to be checkedpageResources- thePdfDictionarycontains resources for transparency to be checked
-
checkCatalogAAConformance
Check the conformity of the AA dictionary on catalog level.- Overrides:
checkCatalogAAConformancein classPdfA2Checker- Parameters:
dict- the catalog dictionary
-
checkPageAAConformance
Check the conformity of the AA dictionary on catalog level.- Overrides:
checkPageAAConformancein classPdfA2Checker- Parameters:
dict- the catalog dictionary
-
checkPdfNumber
Verify the conformity of the PDF number.- Overrides:
checkPdfNumberin classPdfA1Checker- Parameters:
number- thePdfNumberto check
-
checkCanvasStack
public void checkCanvasStack(char stackOperation) This method checks compliance with the graphics state architectural limitation, explained byPdfAChecker.maxGsStackDepth.- Overrides:
checkCanvasStackin classPdfA1Checker- Parameters:
stackOperation- the operation to check the graphics state counter for
-
checkSignatureType
public void checkSignatureType(boolean isCAdES) This method checks compliance of the signature type.- Overrides:
checkSignatureTypein classPdfA1Checker- Parameters:
isCAdES-trueif CAdES signature type is used,falseotherwise
-
getMaxStringLength
protected int getMaxStringLength()Returns maximum allowed bytes length of the string in a PDF document.- Overrides:
getMaxStringLengthin classPdfA2Checker- Returns:
- maximum string length
-
checkNumberOfDeviceNComponents
Checks the number of components in DeviceN color space.- Overrides:
checkNumberOfDeviceNComponentsin classPdfA2Checker- Parameters:
deviceN- the color space to check
-
checkExtGState
Description copied from class:PdfACheckerPerforms a number of checks on the graphics state, among others ISO 19005-1 section 6.2.8 and 6.4 and ISO 19005-2 section 6.2.5 and 6.2.10. This method will be abstract in the update 7.2- Overrides:
checkExtGStatein classPdfA2Checker- Parameters:
extGState- the graphics state to be checkedcontentStream- current content stream
-
checkFormXObject
Verify the conformity of the Form XObject with appropriate specification. Throws PdfAConformanceException if any discrepancy was found- Overrides:
checkFormXObjectin classPdfA2Checker- Parameters:
form- thePdfStreamto be checkedcontentStream- thePdfStreamcurrent content stream
-
checkAnnotation
Verify the conformity of the annotation dictionary.- Overrides:
checkAnnotationin classPdfA2Checker- Parameters:
annotDic- the annotationPdfDictionaryto be checked
-
getForbiddenAnnotations
Gets forbidden annotation types.- Overrides:
getForbiddenAnnotationsin classPdfA2Checker- Returns:
- a set of forbidden annotation types
-
getAppearanceLessAnnotations
Gets annotation types which are allowed not to have appearance stream.- Overrides:
getAppearanceLessAnnotationsin classPdfA2Checker- Returns:
- set of annotation names.
-
checkWidgetAAConformance
Check the conformity of the AA dictionary on widget level.- Parameters:
dict- the widget dictionary
-
checkMetaData
Description copied from class:PdfACheckerPerforms a number of checks on the metadata of the document.- Overrides:
checkMetaDatain classPdfA1Checker- Parameters:
catalog- the catalogPdfDictionaryto check
-
checkOutputIntents
Verify the conformity of the output intents array in the catalog dictionary.- Overrides:
checkOutputIntentsin classPdfA2Checker- Parameters:
catalog- thePdfDictionaryof a catalog or page to check
-
checkAnnotationAgainstActions
Checked annotation against actions, exception will be thrown if eitherAorAAactions aren't allowed for specific type of annotation.- Overrides:
checkAnnotationAgainstActionsin classPdfA2Checker- Parameters:
annotDic- an annotation PDF dictionary
-
hasAAIllegalEntries
-
getForbiddenActions
Retrieve forbidden actions in conforming document.- Overrides:
getForbiddenActionsin classPdfA2Checker- Returns:
- set of
PdfNamewith forbidden actions
-
checkContentConfigurationDictAgainstAsKey
Check optional content configuration dictionary against AS key.- Overrides:
checkContentConfigurationDictAgainstAsKeyin classPdfA2Checker- Parameters:
config- a content configuration dictionary
-
getTransparencyErrorMessage
Retrieve transparency error message valid for the pdf/a standard being used.- Overrides:
getTransparencyErrorMessagein classPdfA2Checker- Returns:
- error message.
-
checkBlendMode
Check if blendMode is compatible with pdf/a standard being used.- Overrides:
checkBlendModein classPdfA2Checker- Parameters:
blendMode- blend mode name to check.
-
getMaxNameLength
protected int getMaxNameLength()Retrieve maximum allowed length of the name object.- Overrides:
getMaxNameLengthin classPdfA1Checker- Returns:
- maximum allowed length of the name
-
isValidEncoding
private static void isValidEncoding(byte[] data) -
isValidXmpConformance
A PDF/A-4e conforming file shall specify the value ofpdfa:conformanceas E. A PDF/A-4f conforming file shall specify the value ofpdfa:conformanceas F. A file that does not conform to either PDF/A-4e or PDF/A-4f shall not provide anypdfa:conformance.- Parameters:
value-pdfa:conformancevalue to check- Returns:
trueifpdfa:conformancevalue is valid,falseotherwise
-
checkPacketHeader
private void checkPacketHeader(byte[] meta) -
checkFileProvenanceSpec
-
isCMYKColorant
-
checkPageContentsForColorUsages
private void checkPageContentsForColorUsages(PdfDictionary pageDict, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkAnnotationsForColorUsages
private void checkAnnotationsForColorUsages(PdfArray annotations, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkAppearanceStreamForColorUsages
private void checkAppearanceStreamForColorUsages(PdfDictionary ap, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkObjectWithResourcesForColorUsages
private void checkObjectWithResourcesForColorUsages(PdfObject objectWithResources, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkResourcesForColorUsages
private void checkResourcesForColorUsages(PdfDictionary resources, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkSingleResourceTypeForColorUsages
private void checkSingleResourceTypeForColorUsages(PdfDictionary singleResourceDict, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
checkContentForColorUsages
private void checkContentForColorUsages(PdfObject pdfObject, PdfStream pageIntentProfile, PdfColorSpace pageTransparencyBlendingCS) -
throwIfIdenticalProfiles
-
getColorspaceTypeIfIccBasedOrCalRgb
-
getDeviceIndependentTransparencyBlendingCSIfRbgOrCmykBased
private static PdfColorSpace getDeviceIndependentTransparencyBlendingCSIfRbgOrCmykBased(PdfDictionary pageDict)
-