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 |