Last Updated:

Xojo FPDF - PDF/A Module

Jean-Yves POCHEZ Xojo FPDF

πŸ“ Archive-Ready PDFs That Last Decades

πŸš€ Coming Soon!

The Problem

Standard PDFs can become unreadable over time:

  • ❌ Missing fonts break text rendering
  • ❌ External links die
  • ❌ Color profiles drift
  • ❌ Embedded content dependencies fail

ISO compliance requires PDF/A for:

  • Legal archives (10+ year retention)
  • Medical records (HIPAA compliance)
  • Financial documents (SOX compliance)
  • Government records (NARA requirements)

The Solution

The VNS PDF/A Module creates ISO-compliant archival PDFs that remain readable for decades, regardless of software changes.


✨ Three Compliance Standards

PDF/A - Archival Documents

Long-term preservation for legal, medical, and governmental records.

Use Cases:

  • Court filings
  • Medical records
  • Tax documents
  • Corporate records
  • Government archives

PDF/X - Print Production

Color-managed, print-ready documents for commercial printing.

Use Cases:

  • Magazine layouts
  • Marketing brochures
  • Product catalogs
  • Professional photography
  • Prepress workflows

PDF/E - Engineering Documents

Technical drawings and CAD exports with precise measurements.

Use Cases:

  • Architectural blueprints
  • Engineering schematics
  • Construction drawings
  • Manufacturing specs
  • Technical documentation

🎯 Output Intent Support

What is an Output Intent? An embedded ICC color profile that defines the intended output device (monitor, printer, press).

Why Does It Matter?

  • βœ… Colors look the same everywhere
  • βœ… Print matches screen preview
  • βœ… No surprises when submitting to printers
  • βœ… ISO compliance requirement

Included Profiles:

  • sRGB (screen display)
  • Adobe RGB 1998 (photography)
  • CMYK (print production)
  • Custom profile support

πŸ’Ό Perfect For

Legal Industry Create court-compliant filings, contracts, and legal briefs that meet archival requirements.

Healthcare HIPAA-compliant medical records, patient charts, and diagnostic reports with long-term readability.

Financial Services SOX-compliant financial statements, audit reports, and transaction records with guaranteed preservation.

Government Agencies NARA-compliant records management, FOIA responses, and official documents.

Print Industry PDF/X-compliant prepress files for commercial printing with accurate color reproduction.

Engineering Firms PDF/E-compliant technical drawings and CAD exports with precise dimensional accuracy.


πŸ”§ Simple Integration

// Add Output Intent for PDF/A-1b compliance
pdf.AddOutputIntent("sRGB IEC61966-2.1", _
                    "sRGB", _
                    "http://www.color.org", _
                    "IEC 61966-2-1 Default RGB Colour Space - sRGB", _
                    profileData)

// That's it! Your PDF is now PDF/A compliant.

πŸ“Š What Gets Embedded

The PDF/A Module automatically handles:

ICC Color Profiles

  • βœ… Embedded in the PDF
  • βœ… Referenced by all content
  • βœ… Ensures color consistency
  • βœ… Required for ISO compliance

Output Intent Metadata

  • βœ… Color space identification
  • βœ… Rendering intent
  • βœ… Profile description
  • βœ… Registry information

Validation Metadata

  • βœ… PDF/A conformance level
  • βœ… ISO standard version
  • βœ… Creation date/time
  • βœ… Producer identification

πŸ† ISO Standards Compliance

PDF/A-1 (ISO 19005-1:2005)

Based on PDF 1.4. Most widely supported archival standard.

Levels:

  • PDF/A-1a - Accessible (requires tagged structure)
  • PDF/A-1b - Basic (visual preservation only) ⭐ Most common

PDF/A-2 (ISO 19005-2:2011)

Based on PDF 1.7. Adds JPEG 2000, transparency, and embedded files.

PDF/A-3 (ISO 19005-3:2012)

Like PDF/A-2, but allows embedding ANY file type (e.g., XML invoices).

PDF/X (ISO 15930)

Print production standard for commercial printing.

Levels:

  • PDF/X-1a - CMYK only, no transparency
  • PDF/X-3 - CMYK + ICC-based color
  • PDF/X-4 - Transparency support

PDF/E (ISO 24517)

Engineering document standard for technical drawings.


βœ… What You Get

  • βœ… Full source code - VNSPDFAPremium.xojo_code
  • βœ… Output Intent creation - AddOutputIntent() method
  • βœ… ICC profile embedding - Automatic integration
  • βœ… Sample ICC profiles - sRGB, Adobe RGB, CMYK
  • βœ… All platforms - Desktop, Web, iOS, Console
  • βœ… Documentation - Compliance guide and examples
  • βœ… 12 months free updates - Compatible with future versions

πŸ†š Free vs Premium

FeatureFree VersionPDF/A Module
Standard PDF outputβœ… Works fineβœ… Works fine
Output Intent❌ Not availableβœ… Included
ICC profile embedding❌ Not availableβœ… Automatic
PDF/A compliance❌ NOT compliantβœ… ISO compliant
PDF/X (print)❌ Not availableβœ… Supported
PDF/E (engineering)❌ Not availableβœ… Supported
Long-term archival⚠️ Not guaranteedβœ… Guaranteed
Legal/medical use⚠️ May be rejectedβœ… Accepted

Why upgrade? If you need ISO-compliant archival PDFs for legal, medical, or government use, or print-ready PDF/X files, this module is required. Regular PDFs may be rejected by compliance systems.


πŸ’° Pricing (When Available)

Expected Price: €50

Bundle Offer: Buy 2, Get 1 Free! Combine PDF/A Module with any other modules (Encryption, Tables, Zlib, Forms, E-Invoice).

What Will Be Included:

  • VNSPDFAPremium.xojo_code (complete source)
  • Sample ICC color profiles (sRGB, Adobe RGB, CMYK)
  • ISO compliance documentation and guide
  • Output intent implementation
  • Installation guide
  • 12 months free updates from release
  • Lifetime license

πŸ” Technical Details

Output Intent Structure

/OutputIntents [
  <<
    /Type /OutputIntent
    /S /GTS_PDFA1  % Or GTS_PDFX, GTS_PDFE
    /OutputConditionIdentifier (sRGB IEC61966-2.1)
    /RegistryName (http://www.color.org)
    /Info (IEC 61966-2-1 Default RGB Colour Space - sRGB)
    /DestOutputProfile 123 0 R  % Reference to ICC profile stream
  >>
]

ICC Profile Embedding

Profiles are compressed with FlateDecode and embedded as binary streams in the PDF.


πŸ“‹ Validation

How to Verify Compliance:

  1. Adobe Preflight (Acrobat Pro)

    • Open PDF in Acrobat
    • Tools β†’ Print Production β†’ Preflight
    • Select PDF/A or PDF/X profile
    • Click β€œVerify compliance”
  2. veraPDF (Open Source)

    • Free ISO-compliant validator
    • Download from verapdf.org
    • Validates PDF/A-1/2/3
    • Detailed compliance reports
  3. Online Validators

    • pdf-online.com
    • pdfa.org
    • pdfpilot.com

❓ Frequently Asked Questions

Q: What’s the difference between PDF/A levels (1a, 1b, 2, 3)? A: 1b = basic visual preservation. 1a = accessible with tagged structure. 2 = allows JPEG 2000 and transparency. 3 = allows embedded files.

Q: Do I need PDF/A for all documents? A: No. Only for archival purposes (legal, medical, government). Regular PDFs are fine for most use cases.

Q: Can I convert existing PDFs to PDF/A? A: Not directly with this module. You’d need to regenerate the PDF from scratch with Output Intent included.

Q: What ICC profiles are included? A: Sample sRGB profile is included. You can embed any ICC profile (Adobe RGB, CMYK, custom profiles).

Q: Does PDF/A support encryption? A: PDF/A-1 does NOT support encryption. PDF/A-2 and PDF/A-3 support encryption with restrictions.

Q: Can I use custom fonts? A: Yes, but you must embed the fonts (which the base library does automatically with TrueType fonts).


🎯 Compliance Checklist

To create valid PDF/A documents:

  • βœ… Embed all fonts (automatic with VNS PDF + TrueType)
  • βœ… Include Output Intent (this module)
  • βœ… Embed ICC color profile (this module)
  • βœ… No external content references (handle manually)
  • βœ… No JavaScript (avoid pdf.SetJS)
  • βœ… No encryption for PDF/A-1 (use PDF/A-2+)
  • βœ… Metadata in XMP format (automatic)

πŸ’‘ Real-World Example

// Create PDF/A-1b compliant invoice
Dim pdf As New VNSPDFDocument()

// Load ICC profile
Dim profileFile As FolderItem = SpecialFolder.Resources.Child("sRGB2014.icc")
Dim stream As BinaryStream = BinaryStream.Open(profileFile)
Dim profileData As String = stream.Read(stream.Length)
stream.Close()

// Add Output Intent for PDF/A compliance
pdf.AddOutputIntent("sRGB IEC61966-2.1", _
                    "sRGB", _
                    "http://www.color.org", _
                    "IEC 61966-2-1 Default RGB Colour Space - sRGB", _
                    profileData)

// Add content (using embedded fonts)
pdf.AddUTF8Font("Arial", "path/to/arial.ttf")
pdf.SetFont("Arial", "", 12)
pdf.Cell(0, 10, "This is a PDF/A compliant invoice")

// Save - now archival-ready!
pdf.Save(invoiceFile)

Result: A PDF that will be readable in 50 years, regardless of software changes.



πŸ’‘ Available Now

While you wait for PDF/A Module, check out our currently available modules:

  • πŸ” Encryption Module - Secure PDFs with AES-256 (€50)
  • πŸ“Š Table Module - Professional table generation (€50)
  • πŸ—œοΈ Zlib Module - iOS compression support (€50)

Recommended combo: Encryption + Table + Zlib = €100 (buy 2 get 1 free)

Bundle & Save: Buy 2, get 1 free! View All Modules β†’


Estimated release: Q2 2026. No pre-orders accepted at this time.