Skip to main content

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.

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