write_pdfa1b.json

Die JSON-Datei des Beispiels „Eine Arbeitsbescheinigung in PDF/A-1b“. Eine Bescheinigung nach dem ersten und strengsten Teil der Archivnorm: PDF 1.4, nichts Transparentes, nichts Ausblendbares, kein Anhang.

JSON 58 Zeilen

Diese Datei ist eine Anfrage: Eine Anwendung sendet sie über das Netz an den Server, der das PDF erzeugt und zurücksendet. Sie erzeugt dieselbe Seite wie die Rust- und die Python-Fassung dieses Beispiels. Eine Anfrage nennt jede Datei, die sie verwendet, nie ihren Inhalt; der Aufruf trägt die Anfrage und die Dateien zusammen. Eine Schrift, die der Server bereits vorhält, etwa DejaVuSans, wird ohne Anhang genannt. Senden Sie die Anfrage an die Adresse, die die API-Seite angibt.

Wofür dieses Beispiel da ist

Eine Hinterlegungsstelle oder ein Register, das seine Regeln vor Jahren festgelegt hat, verlangt womöglich noch namentlich den ersten Teil der Archivnorm. Ein Dokument nach einem späteren Teil kommt von dort abgelehnt zurück, so gut es auch geschrieben ist, und jemand muss es neu erstellen.

Was dieses Beispiel zeigt

 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
    }
  ]
}