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 TypeMethodDescriptionprivate booleanvoidvalidate(PreflightContext ctx) private voidThis method validates if OpenAction entry contains forbidden action type.private voidvalidateICCProfile(COSBase destOutputProfile, Map<COSObjectKey, Boolean> mapDestOutputProfile, PreflightContext ctx) This method checks the destOutputProfile which must be a valid ICCProfile.private voidThe Lang element is optional but it is recommended.private voidA Catalog shall not contain the EmbeddedFiles entry.private voidA Catalog shall not contain the OCPProperties (Optional Content Properties) entry.private voidThis method checks the content of each OutputIntent.Methods inherited from class org.apache.pdfbox.preflight.process.AbstractProcess
addFontError, addValidationError, addValidationErrors
-
Field Details
-
listICC
-
catalog
-
-
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-
-
validateNames
A Catalog shall not contain the EmbeddedFiles entry.- Parameters:
ctx-
-
validateOCProperties
A Catalog shall not contain the OCPProperties (Optional Content Properties) entry.- Parameters:
ctx-
-
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
private 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
-