Class PdfUA2Checker

java.lang.Object
com.itextpdf.pdfua.checkers.PdfUAChecker
com.itextpdf.pdfua.checkers.PdfUA2Checker
All Implemented Interfaces:
IValidationChecker
Direct Known Subclasses:
WellTaggedPdfForAccessibilityChecker

public class PdfUA2Checker extends PdfUAChecker
The class defines the requirements of the PDF/UA-2 standard and contains method implementations from the abstract PdfUAChecker class.

The specification implemented by this class is ISO 14289-2.

  • Constructor Details

    • PdfUA2Checker

      public PdfUA2Checker (PdfDocument pdfDocument)
      Creates PdfUA2Checker instance with PDF document which will be validated against PDF/UA-2 standard.
      Parameters:
      pdfDocument - the document to validate
  • Method Details

    • validate

      public void validate (IValidationContext context)
      Description copied from interface: IValidationChecker
      Validate the provided IValidationContext.
      Parameters:
      context - the IValidationContext to validate
    • isPdfObjectReadyToFlush

      public boolean isPdfObjectReadyToFlush (PdfObject object)
      Description copied from interface: IValidationChecker
      Is PdfObject ready to flush.
      Parameters:
      object - the pdf object to check
      Returns:
      true if the object is ready to flush, false otherwise
    • getUAValidationContext

      protected PdfUAValidationContext getUAValidationContext()
      Gets the PDF/UA validation context which contains common information and utilities used for PDF/UA validation.
      Returns:
      the PDF/UA validation context
    • getPdfDocument

      protected PdfDocument getPdfDocument()
      Gets the PDF document being validated.
      Returns:
      the PDF document being validated
    • checkMetadata

      protected void checkMetadata (PdfCatalog catalog)
      Checks that the Catalog dictionary of a conforming file contains the Metadata key whose value is a metadata stream as defined in ISO 32000-2:2020. Also checks that the value of pdfuaid:part is 2 for conforming PDF files and validates required pdfuaid:rev value.

      Checks that the Metadata stream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary includes a dc: title entry reflecting the title of the document.

      Parameters:
      catalog - PdfCatalog document catalog dictionary
    • checkPdfObject

      protected void checkPdfObject (PdfObject obj)
      Checks that the given PDF object and all its descendant objects recursively (if any) are compliant with PDF/UA-2 standard. The check is performed on all objects except for indirect objects.
      Parameters:
      obj - the PDF object to check
    • checkCatalog

      protected void checkCatalog (PdfCatalog catalog)
      Validates document catalog dictionary against PDF/UA-2 standard.
      Parameters:
      catalog - PdfCatalog document catalog dictionary to check
    • checkFormFieldsAndAnnotations

      protected void checkFormFieldsAndAnnotations (PdfCatalog catalog)
      Validates all annotations and form fields present in the document against PDF/UA-2 standard.
      Parameters:
      catalog - PdfCatalog to check form fields present in the acroform
    • checkStructureTreeRoot

      protected void checkStructureTreeRoot (PdfStructTreeRoot structTreeRoot)
      Validates structure tree root dictionary against PDF/UA-2 standard.

      Additionally, checks that within a given explicitly provided namespace, structure types are not role mapped to other structure types in the same namespace. In the StructTreeRoot RoleMap there is no explicitly provided namespace, that's why it is not checked.

      Parameters:
      structTreeRoot - PdfStructTreeRoot structure tree root dictionary to check
    • createTagTreeIterator

      protected TagTreeIterator createTagTreeIterator (PdfStructTreeRoot structTreeRoot)
      Creates TagTreeIterator responsible for validation of tag tree elements.
      Parameters:
      structTreeRoot - PdfStructTreeRoot to be validated
      Returns:
      TagTreeIterator responsible for validation of tag tree elements