Class PdfA4Checker

All Implemented Interfaces:
IValidationChecker

public class PdfA4Checker extends PdfA3Checker
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

  • Constructor Details

    • PdfA4Checker

      public PdfA4Checker (PdfAConformanceLevel conformanceLevel)
      Creates a PdfA4Checker with the required conformance level
      Parameters:
      conformanceLevel - the required conformance level
  • 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:
      checkColorSpace in class PdfA2Checker
      Parameters:
      colorSpace - the color space to check
      pdfObject - the pdf object to check color space in
      currentColorSpaces - a PdfDictionary containing the color spaces used in the document
      checkAlternate - whether or not to also check the parent color space
      fill - whether the color space is used for fill or stroke operations
    • checkPageColorsUsages

      protected void checkPageColorsUsages (PdfDictionary pageDict, PdfDictionary pageResources)
      Verify the conformity of used color spaces on the page.
      Overrides:
      checkPageColorsUsages in class PdfA2Checker
      Parameters:
      pageDict - the PdfDictionary contains contents for colors to be checked.
      pageResources - the PdfDictionary contains resources for colors to be checked.
    • checkTrailer

      protected void checkTrailer (PdfDictionary trailer)
      Verify the conformity of the trailer dictionary.
      Overrides:
      checkTrailer in class PdfA1Checker
      Parameters:
      trailer - the PdfDictionary of trailer to check
    • checkCatalog

      protected void checkCatalog (PdfCatalog catalog)
      Verify the conformity of the pdf catalog.
      Overrides:
      checkCatalog in class PdfA1Checker
      Parameters:
      catalog - the PdfCatalog of trailer to check.
    • checkPageObject

      protected void checkPageObject (PdfDictionary pageDict, PdfDictionary pageResources)
      Verify the conformity of the page dictionary.
      Overrides:
      checkPageObject in class PdfA2Checker
      Parameters:
      pageDict - the PdfDictionary to check
      pageResources - the page's resources dictionary
    • checkCatalogValidEntries

      protected void checkCatalogValidEntries (PdfDictionary catalogDict)
      Checks if entries in catalog dictionary are valid.
      Overrides:
      checkCatalogValidEntries in class PdfA2Checker
      Parameters:
      catalogDict - the catalog PdfDictionary to be checked
    • checkFileSpec

      protected void checkFileSpec (PdfDictionary fileSpec)
      Verify the conformity of the file specification dictionary.
      Overrides:
      checkFileSpec in class PdfA3Checker
      Parameters:
      fileSpec - the PdfDictionary containing file specification to be checked
    • checkPageTransparency

      protected void checkPageTransparency (PdfDictionary pageDict, PdfDictionary pageResources)
      Verify the conformity of the page transparency.
      Overrides:
      checkPageTransparency in class PdfA2Checker
      Parameters:
      pageDict - the PdfDictionary contains contents for transparency to be checked
      pageResources - the PdfDictionary contains resources for transparency to be checked
    • checkCatalogAAConformance

      protected void checkCatalogAAConformance (PdfDictionary dict)
      Check the conformity of the AA dictionary on catalog level.
      Overrides:
      checkCatalogAAConformance in class PdfA2Checker
      Parameters:
      dict - the catalog dictionary
    • checkPageAAConformance

      protected void checkPageAAConformance (PdfDictionary dict)
      Check the conformity of the AA dictionary on catalog level.
      Overrides:
      checkPageAAConformance in class PdfA2Checker
      Parameters:
      dict - the catalog dictionary
    • checkPdfNumber

      protected void checkPdfNumber (PdfNumber number)
      Verify the conformity of the PDF number.
      Overrides:
      checkPdfNumber in class PdfA1Checker
      Parameters:
      number - the PdfNumber to check
    • checkCanvasStack

      public void checkCanvasStack (char stackOperation)
      This method checks compliance with the graphics state architectural limitation, explained by PdfAChecker.maxGsStackDepth.
      Overrides:
      checkCanvasStack in class PdfA1Checker
      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:
      checkSignatureType in class PdfA1Checker
      Parameters:
      isCAdES - true is CAdES sig type is used, false otherwise.
    • getMaxStringLength

      protected int getMaxStringLength()
      Returns maximum allowed bytes length of the string in a PDF document.
      Overrides:
      getMaxStringLength in class PdfA2Checker
      Returns:
      maximum string length
    • checkNumberOfDeviceNComponents

      protected void checkNumberOfDeviceNComponents (PdfSpecialCs.DeviceN deviceN)
      Overrides:
      checkNumberOfDeviceNComponents in class PdfA2Checker
    • checkExtGState

      public void checkExtGState (CanvasGraphicsState extGState, PdfStream contentStream)
      Description copied from class: PdfAChecker
      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. This method will be abstract in the update 7.2
      Overrides:
      checkExtGState in class PdfA2Checker
      Parameters:
      extGState - the graphics state to be checked
      contentStream - current content stream
    • checkFormXObject

      protected void checkFormXObject (PdfStream form, PdfStream contentStream)
      Verify the conformity of the Form XObject with appropriate specification. Throws PdfAConformanceException if any discrepancy was found
      Overrides:
      checkFormXObject in class PdfA2Checker
      Parameters:
      form - the PdfStream to be checked
      contentStream - the PdfStream current content stream
    • checkAnnotation

      protected void checkAnnotation (PdfDictionary annotDic)
      Verify the conformity of the annotation dictionary.
      Overrides:
      checkAnnotation in class PdfA2Checker
      Parameters:
      annotDic - the annotation PdfDictionary to be checked
    • getForbiddenAnnotations

      protected Set<PdfName> getForbiddenAnnotations()
      Gets forbidden annotation types.
      Overrides:
      getForbiddenAnnotations in class PdfA2Checker
      Returns:
      a set of forbidden annotation types
    • getAppearanceLessAnnotations

      protected Set<PdfName> getAppearanceLessAnnotations()
      Gets annotation types which are allowed not to have appearance stream.
      Overrides:
      getAppearanceLessAnnotations in class PdfA2Checker
      Returns:
      set of annotation names.
    • checkWidgetAAConformance

      protected void checkWidgetAAConformance (PdfDictionary dict)
      Check the conformity of the AA dictionary on widget level.
      Parameters:
      dict - the widget dictionary
    • checkMetaData

      protected void checkMetaData (PdfDictionary catalog)
      Description copied from class: PdfAChecker
      Performs a number of checks on the metadata of the document.
      Overrides:
      checkMetaData in class PdfA1Checker
      Parameters:
      catalog - the catalog PdfDictionary to check
    • checkOutputIntents

      protected void checkOutputIntents (PdfDictionary catalog)
      Verify the conformity of the output intents array in the catalog dictionary.
      Overrides:
      checkOutputIntents in class PdfA2Checker
      Parameters:
      catalog - the PdfDictionary of a catalog or page to check
    • checkAnnotationAgainstActions

      protected void checkAnnotationAgainstActions (PdfDictionary annotDic)
      Checked annotation against actions, exception will be thrown if either A or AA actions aren't allowed for specific type of annotation.
      Overrides:
      checkAnnotationAgainstActions in class PdfA2Checker
      Parameters:
      annotDic - an annotation PDF dictionary
    • getForbiddenActions

      protected Set<PdfName> getForbiddenActions()
      Retrieve forbidden actions in conforming document.
      Overrides:
      getForbiddenActions in class PdfA2Checker
      Returns:
      set of PdfName with forbidden actions
    • checkContentConfigurationDictAgainstAsKey

      protected void checkContentConfigurationDictAgainstAsKey (PdfDictionary config)
      Check optional content configuration dictionary against AS key.
      Overrides:
      checkContentConfigurationDictAgainstAsKey in class PdfA2Checker
      Parameters:
      config - a content configuration dictionary
    • getTransparencyErrorMessage

      protected String getTransparencyErrorMessage()
      Retrieve transparency error message valid for the pdf/a standard being used.
      Overrides:
      getTransparencyErrorMessage in class PdfA2Checker
      Returns:
      error message.
    • checkBlendMode

      protected void checkBlendMode (PdfName blendMode)
      Check if blendMode is compatible with pdf/a standard being used.
      Overrides:
      checkBlendMode in class PdfA2Checker
      Parameters:
      blendMode - blend mode name to check.
    • getMaxNameLength

      protected int getMaxNameLength()
      Retrieve maximum allowed length of the name object.
      Overrides:
      getMaxNameLength in class PdfA1Checker
      Returns:
      maximum allowed length of the name