write_pdfa1b.json

The JSON file of the “A PDF/A-1b Certificate of Employment” example. A certificate written to the first and strictest part of the archival standard: PDF 1.4, nothing see-through, nothing that can be switched off, no attachment.

JSON 58 lines

This file is a request: an application sends it over the network to the server, which creates the PDF and sends it back. It creates the same page as the Rust and Python versions of this example. A request names every file it uses, never its content; the call carries the request and the files together. A font the server already holds, such as DejaVuSans, is named with nothing attached. Send the request to the address the API page gives.

What This Example Is For

A depositary or a registry that fixed its rules years ago may still ask for the first part of the archival standard by name. A document sent to it in a later part comes back refused, however well it is written, and somebody has to create it again.

What This Example Shows

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
  "archive": "pdfa1b",
  "metadata": {
    "title": "Certificate of employment, 4 February 2026",
    "author": "HQF Development",
    "subject": "A record an archive keeps under the first edition of the standard",
    "producer": "hqf-pdf-server",
    "created": "2026-02-04T09:15:00+01:00"
  },
  "items": [
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 756, "urx": 523, "ury": 782},
      "content": ["Certificate of employment"],
      "font": "DejaVuSans",
      "font_size": 20
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 736, "urx": 523, "ury": 750},
      "content": ["Reference 2026-0184, issued 4 February 2026"],
      "font": "DejaVuSans",
      "font_size": 10.5
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 600, "urx": 523, "ury": 716},
      "content": ["This sheet claims the first part of the archival standard, at the level that promises the look of the page and nothing else. Every face it draws with is carried inside the file, every colour says what it means, and nothing on the page waits on a program, a network or a font that happens to be installed. ", "The first part is also the strictest: nothing here is painted so that what lies behind it shows through, no part of the page can be switched off, and no file travels inside the document. A record that needs any of those claims a later part instead."],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 16,
      "align": "justify"
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 512, "urx": 523, "ury": 580},
      "content": ["Employee\nPosition\nEmployed since\nHours"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    },
    {
      "type": "text",
      "rect": {"llx": 200, "lly": 512, "urx": 523, "ury": 580},
      "content": ["Camille Marchand\nHead of the drawing office\n3 September 2018\nFull time, 35 hours a week"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 466, "urx": 523, "ury": 480},
      "content": ["Signed at Cabriès, for HQF Development."],
      "font": "DejaVuSans",
      "font_size": 11
    }
  ]
}