write_pdfa2u.json

Die JSON-Datei des Beispiels „Eine durchsuchbare Abtretungsurkunde in PDF/A-2u“. Die Stufe über der einfachen: Jeder Buchstabe auf der Seite lässt sich suchen und herauskopieren, sodass ein Register die Urkunde findet und ein Sachbearbeiter eine Klausel wortgetreu übernimmt.

JSON 51 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

Ein Register mit dreißigtausend Urkunden findet eine davon über ihr Aktenzeichen. Weiß die Datei nur, wie ihre Buchstaben aussehen, aber nicht, welche Buchstaben es sind, findet die Suche nichts, und wer eine Klausel herauskopiert, erhält eine Reihe Fragezeichen.

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
{
  "archive": "pdfa2u",
  "metadata": {
    "title": "Deed of assignment, ACME/2026/0417",
    "author": "HQF Development",
    "subject": "A record whose every word can be searched for and copied out",
    "producer": "hqf-pdf-server",
    "created": "2026-04-17T10:15:00+02:00"
  },
  "items": [
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 756, "urx": 523, "ury": 782},
      "content": ["Deed of assignment"],
      "font": "DejaVuSans",
      "font_size": 20
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 736, "urx": 523, "ury": 750},
      "content": ["Reference ACME/2026/0417, filed 17 April 2026"],
      "font": "DejaVuSans",
      "font_size": 10.5
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 600, "urx": 523, "ury": 716},
      "content": ["This deed claims the second part of the archival standard at the level above the plain one: on top of the promise that the page keeps its looks, every mark of ink drawn on it says which letter it stands for. A registry searching thirty thousand deeds for a reference finds this one; a clerk copying a clause out of it gets the clause, not a row of question marks. ", "That is the whole of the difference between the two levels. Nothing about the layout changes, and nothing is added to the page."],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 16,
      "align": "justify"
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 540, "urx": 523, "ury": 576},
      "content": ["Assignor\nAssignee\nEffective"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    },
    {
      "type": "text",
      "rect": {"llx": 200, "lly": 540, "urx": 523, "ury": 576},
      "content": ["Ateliers du Nord, Lille\nACME Industries, Rouen\n1 May 2026"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    }
  ]
}