Long-term PDF archiving with PDFluent. Convert documents to PDF/A-1b, PDF/A-2b, and PDF/A-3b for compliance with ISO 19005 and EU archiving mandates.
use pdfluent::{PdfDocument, PdfAProfile, CompressOptions};
fn main() -> pdfluent::Result<()> {
let mut doc = PdfDocument::open("report.pdf")?;
// Check PDF/A conformance for long-term archiving
let report = doc.validate_pdfa(PdfAProfile::A2b)?;
println!("PDF/A-2b compliant: {}", report.is_compliant());
for v in &report.violations {
println!("[{}] {}", v.rule, v.message);
}
// Subset fonts and compress for a smaller archival file
doc.subset_fonts()?;
doc.compress(CompressOptions::archival())?;
doc.save("report-archival.pdf")?;
Ok(())
}Run cargo add [email protected] to get started.
Validate and convert to any ISO 19005 conformance level. Embed fonts, flatten transparency, strip unsupported features — automatically.
PAdES-LT and PAdES-LTA signatures include the full certificate chain, OCSP responses, and RFC 3161 timestamps. Verifiable decades after issuance.
eIDAS-aligned document preservation. Re-timestamping support before certificates expire. Your audit trail survives algorithm deprecation.
XMP metadata repair, document information dictionary normalisation, and conformant colour space embedding via ICC profiles.
Full veraPDF-compatible rule engine built in. No network calls, no third-party service dependency. Suitable for air-gapped environments.
Convert thousands of documents per minute. Parallel processing with detailed per-document reports. JSON output for integration with your audit systems.