Class CatalogValidationProcess

  • All Implemented Interfaces:
    ValidationProcess

    public class CatalogValidationProcess
    extends AbstractProcess
    This ValidationProcess check if the Catalog entries are confirming with the PDF/A-1b specification.
    • Field Detail

      • listICC

        private static final java.util.List<java.lang.String> listICC
    • Constructor Detail

      • CatalogValidationProcess

        public CatalogValidationProcess()
    • Method Detail

      • isStandardICCCharacterization

        private boolean isStandardICCCharacterization​(java.lang.String name)
      • validateActions

        private void validateActions​(PreflightContext ctx)
                              throws ValidationException
        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

        private void validateLang​(PreflightContext ctx)
        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

        private void validateNames​(PreflightContext ctx)
        A Catalog shall not contain the EmbeddedFiles entry.
        Parameters:
        ctx -
      • validateOCProperties

        private void validateOCProperties​(PreflightContext ctx)
        A Catalog shall not contain the OCPProperties (Optional Content Properties) entry.
        Parameters:
        ctx -
      • validateOutputIntent

        private void validateOutputIntent​(PreflightContext ctx)
                                   throws ValidationException
        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,
                                        java.util.Map<COSObjectKey,​java.lang.Boolean> mapDestOutputProfile,
                                        PreflightContext ctx)
                                 throws ValidationException
        This 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