PDF/A Compliance
PDF/A Overview
PDF/A is an ISO standard (ISO 19005) for long-term archival of PDF documents. It restricts certain PDF features (encryption, external references, non-embedded fonts, JavaScript) to ensure self-contained, reproducible documents.
PdfAValidator
PdfAValidator checks a document for conformance with a specified PDF/A version.
PdfAValidationResult.isCompliant() returns whether the document passes validation:
try (PdfAValidator validator = new PdfAValidator()) {
PdfAValidationResult result = validator.validate("document.pdf", PdfFormat.PDF_A_1B);
if (!result.isCompliant()) {
for (PdfAViolation v : result.getViolations()) {
System.out.println(v.getMessage());
}
}
}getViolations() returns the list of PdfAViolation objects, each describing a
specific conformance failure with a rule ID, message, and object path.
PdfAConverter
PdfAConverter converts a non-compliant document to a target PDF/A format, applying
necessary structural transformations during the conversion.
Rule-Based Validation
ActionRules.validate() checks action dictionaries against the PDF/A specification.
AnnotationRules.validate() checks annotation conformance. These classes provide
granular validation at the object level.
Remediation
After validation identifies violations, apply the corresponding fix class:
ActionFixes— remove forbidden action dictionariesAnnotationFixes— correct non-compliant annotationsFileStructureFixes— fix file-level structural issues
See PDF/A Fixes for detailed remediation workflows.