A file still readable decades from now
State that the document follows an archiving standard: all it takes to read it again is written inside, for good.
Summary
A contract signed today has to open again decades from now, on a machine that does not exist yet. So the fonts travel inside the file rather than being borrowed from the reading software showing it, and nothing on the page points at an address that may have gone. It is what public archives, courts, and more and more accounting departments ask for.
Technically
Written at the top level of a request, under
"archive"
archive states, in the XMP packet, the archiving standard the document conforms to, and settles the PDF version that goes with it at the same time. Eight values are in the schema: the three levels of PDF/A-2 and the three of PDF/A-3, all built on PDF 1.7, then PDF/A-4 and PDF/A-4f, built on PDF 2.0. Part 3 is the one that allows a file of any kind to be attached, which is what an electronic invoice needs; level U asks that every letter drawn map back to the character it stands for, and level A asks the document to say what it is made of as well. The standard wants the fonts written into the file: a request stating archive goes through fonts or type1_fonts.
Request schema
-
archive— string, optional, absent by default. Ten values:pdfa1b— PDF/A-1 level B. Imposes PDF version 1.4. The oldest part and the strictest: the page looks the same for as long as the file exists, and nothing on it is painted so that what lies behind shows through, no part of it can be switched off, and no file travels inside it.pdfa1a— PDF/A-1 level A. Imposes PDF version 1.4. The same part, at the level that asks the document to say what it is made of, which takes astructure.pdfa2b— PDF/A-2 level B. Imposes PDF version 1.7. The page looks the same for as long as the file exists, and the document carries another file only where that file is itself archival.pdfa2u— PDF/A-2 level U. Imposes PDF version 1.7. The same part, and every letter drawn maps back to the character it stands for, so the words can be searched for and copied out.pdfa2a— PDF/A-2 level A. Imposes PDF version 1.7. The same part again, at the level that asks the document to say what it is made of: it takes astructure, and everything drawn on its pages either sits in that tree or is marked as furniture.pdfa3b— PDF/A-3 level B. Imposes PDF version 1.7. It is the part that allows a file of any kind to be attached:invoiceis taken under this claim and underpdfa3a, and under no other.pdfa3u— PDF/A-3 level U. Imposes PDF version 1.7. The same part, and every letter drawn maps back to the character it stands for.pdfa3a— PDF/A-3 level A. Imposes PDF version 1.7. The same part, at the level that asks the document to say what it is made of: it takes astructure, and everything drawn on its pages either sits in that tree or is marked as furniture.pdfa4— PDF/A-4, ISO 19005-4. Imposes PDF version 2.0. The document carries no information dictionary, and takes a file only if that file is itself archival.pdfa4f— PDF/A-4f. Imposes PDF version 2.0. The same part, at the level that carries files of any kind — a spreadsheet, an image, the XML a machine reads. A document claiming it carries at least one file.
-
Fonts are written into the file. A font declared through
standard_fontsis refused under this key, since nothing of the font travels with the document;fontsandtype1_fontsfit. -
output_intentstates the device the colours are stated for; short of one, the document says its colours are sRGB. -
Level A of part 3 asks for a structure tree: a request states one through
structure, and a document claiming that level without one is refused.
A whole request that creates a PDF
One name below stands for a font file: put the encoded file in its place, or send the file itself beside the description, as a supplied part of the same call. One page carries a real font already encoded, and its request posts as it stands.
{
"archive": "pdfa3b",
"output_intent": { "identifier": "sRGB", "info": "sRGB IEC61966-2.1" },
"metadata": {
"title": "Minutes of the board meeting",
"created": "2026-08-08T10:00:00+02:00"
},
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 768 },
"content": ["Minutes of the board meeting"],
"font": "body",
"font_size": 18
}
]
}
The document as a whole
The numbers reading software shows A hundred letters in a single file What the document says about itself What the document says about itself, said once The notes a program leaves in the file for itself The notes a program leaves on one page The data a program hangs on a run of ink The print standard the document claims The password that opens it, and what may be done with it An invoice a person and a machine both read The address relative links are read against The PDF version the file declares What a picture says about itself, and how it is read The attachments the document carries beside its pages The attachments shown as a portfolio Which attachments a page claims The identity card a single page carries The accessibility standard the document claims The standards the finished document is measured against
Where to go next
Every JSON key of a request, in one page The other forty-one settings of a request