The PDF file format is a very big and complex standard so several more limited subsets have been created for specific purposes, of which the one for archiving is PDF/A.
What is PDF/A?
PDF/A is a subset of PDF designed for long-term archiving that ensures the document can be used many years in the future.
Some documents will need to be accessible for many years. For example the building plans showing where we buried all those pipes and cables. The people who created these PDF files are unlikely to be around to answer questions about the file or the contents.
A normal PDF can look fine today and render badly, or not open at all, once the fonts or software it relied on have moved on. The aim of PDF/A (the A stands for Archiving) is to ensure the PDF is self-contained (ie the fonts are all embedded so they can be displayed properly and there are no external references) and remove any features which could cause problems, such as non-standard metadata.
What’s the difference between PDF and PDF/A?
A standard PDF can depend on things outside the file itself: fonts installed on the viewer’s system, colour profiles, external links. PDF/A doesn’t allow that. Everything the file needs to display correctly has to be embedded in the file, and anything that could cause problems down the line is banned.
How many versions are there of PDF/A?
There are currently 4 versions of PDF/A (labelled 1, 2, 3, 4) which target different versions of the PDF file format specification (for example PDF/A-1 matches PDF 1.4).
Within each version there are different levels of conformance (usually B (Basic), A (Accessible) or U (Unicode)).
It turned out that different groups have slightly different needs, especially over the requirement for embedded documents in a PDF document. So the main difference between Version 2 and 3 is that version 2 bans embedding non-PDF/A files. Users such as banks need to include Excel files and images, which requires version 3.
| Version | Based on | Conformance levels | Typical use |
|---|---|---|---|
| PDF/A-1 | PDF 1.4 | B, A | Basic long-term archiving |
| PDF/A-2 | PDF 1.7 | B, A, U | Adds JPEG 2000, transparency, embedded PDF/A files |
| PDF/A-3 | PDF 1.7 | B, A, U | As PDF/A-2, plus any file type as an attachment |
| PDF/A-4 | PDF 2.0 | e, f (no A/B/U) | Modern archiving, engineering and attachment use cases |
What is PDF/A-3b?
Most people do not get into the details of these specifications. They just need to know that a user requires a PDF in format PDF/A-3b and that their files meet this requirement. PDF/A-3b in particular has become the default a lot of business systems ask for by name, since it’s the level that lets you attach machine-readable data (an XML invoice, say) alongside the human-readable PDF, without requiring the extra accessibility tagging that comes with A-level conformance.
Should I use PDF/A?
If a document needs to stay readable and unchanged for years, or a regulator, court or business partner requires it, use PDF/A. For everyday documents you’re not archiving long-term, a standard PDF is fine.
How do I check if my PDF file meets a specific version of PDF/A?
There were originally several different commercial tools which gave slightly different results. To solve this, the PDF Association created a free and open source PDF validation tool called VeraPDF, which has a dual GPL/MPL licence and can be used commercially. This is now taken as the benchmark.
Is it possible to create compliant PDF/A files?
Yes. Several PDF creation tools allow you to specify that you need to meet a specific standard and will generate PDF files to match. It is still a good idea to use VeraPDF to check them.
How do I fix my file if it does not meet the specification?
VeraPDF is a PDF validator, so it will only tell you if the files are compliant.
There is a large range of tools available which can fix any issues and make PDF files match a specific standard, ranging from Adobe Acrobat Pro to Java libraries you can build compliance into your own software with.
Our software libraries allow you to
| Convert PDF files to HTML |
| Use PDF Forms in a web browser |
| Convert PDF Documents to an image |
| Work with PDF Documents in Java |
| Read and write HEIC and other Image formats in Java |