Class CatalogValidationProcess
java.lang.Object
org.apache.pdfbox.preflight.process.AbstractProcess
org.apache.pdfbox.preflight.process.CatalogValidationProcess
- All Implemented Interfaces:
ValidationProcess
This ValidationProcess check if the Catalog entries are confirming with the PDF/A-1b specification.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanvoidvalidate(PreflightContext ctx) protected voidThis method validates if OpenAction entry contains forbidden action type.protected voidvalidateICCProfile(COSBase destOutputProfile, Map<COSObjectKey, Boolean> mapDestOutputProfile, PreflightContext ctx) This method checks the destOutputProfile which must be a valid ICCProfile.protected voidThe Lang element is optional but it is recommended.protected voidA Catalog shall not contain the EmbeddedFiles entry.protected voidA Catalog shall not contain the OCPProperties (Optional Content Properties) entry.voidThis method checks the content of each OutputIntent.Methods inherited from class org.apache.pdfbox.preflight.process.AbstractProcess
addFontError, addValidationError, addValidationErrors
-
Field Details
-
catalog
-
listICC
-
-
Constructor Details
-
CatalogValidationProcess
public CatalogValidationProcess()
-
-
Method Details
-
isStandardICCCharacterization
-
validate
- Throws:
ValidationException
-
validateActions
This method validates if OpenAction entry contains forbidden action type. It checks too if an Additional Action is present.- Parameters:
ctx-- Throws:
ValidationException- Propagate the ActionManager exception
-
validateLang
The Lang element is optional but it is recommended. This method check the Syntax of the Lang if this entry is present.- Parameters:
ctx-- Throws:
ValidationException
-
validateNames
A Catalog shall not contain the EmbeddedFiles entry.- Parameters:
ctx-- Throws:
ValidationException
-
validateOCProperties
A Catalog shall not contain the OCPProperties (Optional Content Properties) entry.- Parameters:
ctx-- Throws:
ValidationException
-
validateOutputIntent
This method checks the content of each OutputIntent. The S entry must contain GTS_PDFA1. The DestOutputProfile must contain a valid ICC Profile Stream. If there are more than one OutputIntent, they have to use the same ICC Profile. This method returns a list of ValidationError. It is empty if no errors have been found.- Parameters:
ctx-- Throws:
ValidationException
-
validateICCProfile
protected void validateICCProfile(COSBase destOutputProfile, Map<COSObjectKey, Boolean> mapDestOutputProfile, PreflightContext ctx) throws ValidationExceptionThis method checks the destOutputProfile which must be a valid ICCProfile. If another ICCProfile exists in the mapDestOutputProfile, a ValidationError (ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_MULTIPLE) is returned because only one profile is authorized. If the ICCProfile already exists in the mapDestOutputProfile, the method returns null. If the destOutputProfile contains an invalid ICCProfile, a ValidationError (ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID) is returned. If the destOutputProfile is an empty stream, a ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY) is returned. If the destOutputFile is valid, mapDestOutputProfile is updated, the ICCProfile is added to the document ctx and null is returned.- Parameters:
destOutputProfile-mapDestOutputProfile-ctx- the preflight context.- Throws:
ValidationException
-