Validation checks
The Pdftools SDK performs multiple lexical, syntactic, and semantic checks when validating a PDF document according to an ISO standard or a corporate directive.
The table shows details of the validation checks performed according to the specification and conformance level.
PDF/A-1 | PDF/A-2 & PDF/A-3 | Level U | Level A | ||
---|---|---|---|---|---|
Lexical checks | |||||
Structure of tokens such as keywords, names, numbers, strings etc. | x | x | x | x | x |
Structure of the cross-reference table | x | x | x | x | x |
File positions in the trailer dictionary, cross reference table, etc. | x | x | x | x | x |
Whether a referenced object has the correct object and generation number | x | x | x | x | x |
Length attribute of stream objects | x | x | x | x | x |
No header offset | x | x | x | x | |
Contains a binary marker | x | x | x | x | |
Syntactic checks | |||||
Structure of dictionaries, arrays, indirect objects, streams, etc. | x | x | x | x | x |
Compression errors, e.g. CCITT, JPEG, Flate, etc. | x | x | x | x | x |
Errors in embedded font programs | x | x | x | x | x |
Errors in ICC color profiles | x | x | x | x | x |
Semantic checks | |||||
Required entries in dictionaries, e.g. width entry in an image dictionary | x | x | x | x | x |
Inherited attributes | x | x | x | x | x |
Value of the parent entries in dictionaries, e.g. page objects | x | x | x | x | x |
Type of the dictionary entry's value, e.g. integer, string, name | x | x | x | x | x |
Whether the object must be indirect or direct, e.g. a page object must be an indirect object | x | x | x | x | x |
Order of operators in content streams | x | x | x | x | x |
Number of operands of the operators | x | x | x | x | x |
Type of operands of the operators | x | x | x | x | x |
Value ranges of the operands | x | x | x | x | x |
Unknown referenced resources | x | x | x | x | x |
Operand stack overflow and underflow | x | x | x | x | x |
Inconsistent information, e.g. if an image has a stencil mask and soft mask at the same time | x | x | x | x | x |
Conformance to implementation limits defined by the PDF Reference | x | x | x | x | x |
No unredered XFA forms | x | x | x | x | x |
Contains a unique file identifier | x | x | x | x | |
Contains document metadata | x | x | x | x | |
Contains embedded font programs where needed | x | x | x | x | |
Contains character to glyph mapping (encoding) information for the fonts | x | x | x | x | |
Contains an output intent if needed | x | x | x | x | |
No encryption | x | x | x | x | |
No LZW and non-standard filters | x | x | x | x | |
No JavaScript | x | x | x | x | |
No unallowed annotations | x | x | x | x | |
No unallowed actions | x | x | x | x | |
No form fields that are generated on the fly | x | x | x | x | |
No embedded PostScript code | x | x | x | x | |
No invisible, hidden or non-printable annotations | x | x | x | x | |
No device-specific color spaces | x | x | x | x | |
No unknown rendering intents | x | x | x | x | |
No image interpolation | x | x | x | x | |
No externally referenced information (external streams, reference XObjects, etc.) | x | x | x | x | |
No Open Print Interface (OPI) information | x | x | x | x | |
No alternate images | x | x | x | x | |
No color transfer and half-toning functions | x | x | x | x | |
No JPX | x | x | x | x | |
No layers | x | x | x | x | |
No transparency | x | x | x | x | |
No embedded files | x | x | x | x | |
No XRef streams | x | x | x | x | |
Conformity of metadata | x | x | x | x | |
PDF/A conformance of embedded files | x | x | x | ||
Consistency of spot colors | x | x | x | ||
Contains Unicode information of fonts where needed | x | x | |||
Contains logical structure information (tagging) | x | ||||
Contains alternate descriptions of content (replacement text) where needed | x |