write_pdfa2b.json

Le fichier JSON de l’exemple « Procès-verbal en PDF/A-2b conservé trente ans ». Le procès-verbal d’un comité social et économique, conforme à la deuxième partie de la norme d’archivage au niveau de base, qui garantit que la page aura le même aspect dans trente ans.

JSON 51 lignes

Ce fichier est une requête : une application l’envoie par le réseau au serveur, qui crée le PDF et le renvoie. Il crée la même page que les versions Rust et Python de cet exemple. Une requête nomme chaque fichier qu’elle emploie, jamais le contenu de ces fichiers ; l’appel transmet la requête et les fichiers ensemble. Une police que le serveur détient déjà, comme DejaVuSans, se nomme sans rien y joindre. Envoyez la requête à l’adresse que donne la page de l’API.

À quoi sert cet exemple

Un procès-verbal se conserve parce qu’un jour quelqu’un devra prouver ce qui a été décidé, et ce jour-là le fichier doit s’ouvrir avec le même aspect qu’au moment de sa signature. Qu’une police manque sur l’ordinateur du moment, qu’une couleur ne soit plus définie, et le procès-verbal dit autre chose.

Ce que montre cet exemple

 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": "pdfa2b",
  "metadata": {
    "title": "Minutes of the works council, 12 March 2026",
    "author": "HQF Development",
    "subject": "A record kept for thirty years, carrying nothing but itself",
    "producer": "hqf-pdf-server",
    "created": "2026-03-12T18:05:00+01:00"
  },
  "items": [
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 756, "urx": 523, "ury": 782},
      "content": ["Minutes of the works council"],
      "font": "DejaVuSans",
      "font_size": 20
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 736, "urx": 523, "ury": 750},
      "content": ["Thursday 12 March 2026, 17:00, meeting room 2"],
      "font": "DejaVuSans",
      "font_size": 10.5
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 620, "urx": 523, "ury": 716},
      "content": ["This sheet claims the second part of the archival standard, at the level that promises one thing and one thing only: the page will look the same in thirty years as it does today. 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 second part names no carried file the way the third does, so a record that has to travel with a spreadsheet or an invoice claims the third part instead."],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 16,
      "align": "justify"
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 560, "urx": 523, "ury": 596},
      "content": ["Present\nApologies\nNext sitting"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    },
    {
      "type": "text",
      "rect": {"llx": 200, "lly": 560, "urx": 523, "ury": 596},
      "content": ["Nine members of the council and two of the board\nOne member, on leave\nThursday 9 April 2026, 17:00"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    }
  ]
}