Class PdfUA2Checker
java.lang.Object
com.itextpdf.pdfua.checkers.PdfUAChecker
com.itextpdf.pdfua.checkers.PdfUA2Checker
- All Implemented Interfaces:
IValidationChecker
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final PdfUAValidationContextprivate final PdfDocumentprivate final PdfUA2CanvasTextCheckerFields inherited from class PdfUAChecker
EXCEPTION_SUPPLIER -
Constructor Summary
ConstructorsConstructorDescriptionPdfUA2Checker(PdfDocument pdfDocument) CreatesPdfUA2Checkerinstance with PDF document which will be validated against PDF/UA-2 standard. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckArrayRecursively(PdfArray array) private voidcheckCatalog(PdfCatalog catalog) Validates document catalog dictionary against PDF/UA-2 standard.private voidcheckDictionaryRecursively(PdfDictionary dictionary) private voidcheckFormFieldsAndAnnotations(PdfCatalog catalog) Validates all annotations and form fields present in the document against PDF/UA-2 standard.protected voidcheckMetadata(PdfCatalog catalog) Checks that theCatalogdictionary of a conforming file contains theMetadatakey whose value is a metadata stream as defined in ISO 32000-2:2020.(package private) voidcheckNonSymbolicCmapSubtable(TrueTypeFont fontProgram) For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall contain at least the Microsoft Unicode (3, 1 – Platform ID = 3, Encoding ID = 1), or the Macintosh Roman (1, 0 – Platform ID = 1, Encoding ID = 0) “cmap” subtable.private voidcheckPdfObject(PdfObject obj) private voidcheckStructureTreeRoot(PdfStructTreeRoot structTreeRoot) Validates structure tree root dictionary against PDF/UA-2 standard.(package private) voidcheckSymbolicCmapSubtable(TrueTypeFont fontProgram) Checks cmap entries present in the embedded TrueType font program of the symbolic TrueType font.booleanisPdfObjectReadyToFlush(PdfObject object) IsPdfObjectready to flush.voidvalidate(IValidationContext context) Validate the providedIValidationContext.Methods inherited from class PdfUAChecker
checkContentInCanvas, checkFonts, checkLang, checkLogicalStructureInBMC, checkOCProperties, checkText, checkViewerPreferences, warnOnPageFlush
-
Field Details
-
pdfDocument
-
context
-
textChecker
-
-
Constructor Details
-
PdfUA2Checker
CreatesPdfUA2Checkerinstance with PDF document which will be validated against PDF/UA-2 standard.- Parameters:
pdfDocument- the document to validate
-
-
Method Details
-
validate
Description copied from interface:IValidationCheckerValidate the providedIValidationContext.- Parameters:
context- theIValidationContextto validate
-
isPdfObjectReadyToFlush
Description copied from interface:IValidationCheckerIsPdfObjectready to flush.- Parameters:
object- the pdf object to check- Returns:
trueif the object is ready to flush,falseotherwise
-
checkMetadata
Checks that theCatalogdictionary of a conforming file contains theMetadatakey whose value is a metadata stream as defined in ISO 32000-2:2020. Also checks that the value ofpdfuaid:partis 2 for conforming PDF files and validates requiredpdfuaid:revvalue.Checks that the
Metadatastream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary includes adc: titleentry reflecting the title of the document.- Parameters:
catalog-PdfCatalogdocument catalog dictionary
-
checkNonSymbolicCmapSubtable
For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall contain at least the Microsoft Unicode (3, 1 – Platform ID = 3, Encoding ID = 1), or the Macintosh Roman (1, 0 – Platform ID = 1, Encoding ID = 0) “cmap” subtable.- Specified by:
checkNonSymbolicCmapSubtablein classPdfUAChecker- Parameters:
fontProgram- the embedded TrueType font program to check
-
checkSymbolicCmapSubtable
Checks cmap entries present in the embedded TrueType font program of the symbolic TrueType font.The “cmap” subtable in the embedded font program shall either contain the Microsoft Symbol (3, 0 – Platform ID = 3, Encoding ID = 0) or the Mac Roman (1, 0 – Platform ID = 1, Encoding ID = 1) encoding.
- Specified by:
checkSymbolicCmapSubtablein classPdfUAChecker- Parameters:
fontProgram- the embedded TrueType font program to check
-
checkPdfObject
-
checkArrayRecursively
-
checkDictionaryRecursively
-
checkCatalog
Validates document catalog dictionary against PDF/UA-2 standard.- Parameters:
catalog-PdfCatalogdocument catalog dictionary to check
-
checkFormFieldsAndAnnotations
Validates all annotations and form fields present in the document against PDF/UA-2 standard.- Parameters:
catalog-PdfCatalogto check form fields present in the acroform
-
checkStructureTreeRoot
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-PdfStructTreeRootstructure tree root dictionary to check
-