write_pdfa2u.json

The JSON file of the “A Searchable PDF/A-2u Deed of Assignment” example. The level above the plain one: every letter on the page can be searched and copied out, so a registry finds the deed and a clerk copies a clause as it stands.

JSON 51 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 registry holding thirty thousand deeds finds one by searching for its reference. If the file only knows what its letters look like and not which letters they are, the search finds nothing, and a clerk copying a clause out of it gets a row of question marks.

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