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 boolean
void
validate
(PreflightContext ctx) protected void
This method validates if OpenAction entry contains forbidden action type.protected void
validateICCProfile
(COSBase destOutputProfile, Map<COSObjectKey, Boolean> mapDestOutputProfile, PreflightContext ctx) This method checks the destOutputProfile which must be a valid ICCProfile.protected void
The Lang element is optional but it is recommended.protected void
A Catalog shall not contain the EmbeddedFiles entry.protected void
A Catalog shall not contain the OCPProperties (Optional Content Properties) entry.void
This 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
-