write_pdfa4f.json

Le fichier JSON de l’exemple « Relevé de compte en PDF/A-4f avec ses données jointes ». Un relevé de compte conforme à la quatrième partie de la norme d’archivage, qui contient les mêmes chiffres dans un fichier XML qu’un logiciel lit sans que personne ne les retape.

JSON 54 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.

Cette requête nomme des fichiers qu’elle ne contient pas : statement. Chacun voyage à côté de la requête, dans le même appel, comme une pièce fournie nommée exactement comme la requête la nomme ici — la description dit quel nom joue quel rôle, vous nommez donc vos fichiers comme vous voulez. Une requête qui nomme un fichier dont l’appel ne contient rien est refusée.

À quoi sert cet exemple

Un relevé de compte est vérifié par une personne et comptabilisé par un logiciel. Quand les chiffres n’existent que sur la page, quelqu’un les saisit en comptabilité, et un chiffre saisi peut être mal saisi.

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
52
53
54
{
  "archive": "pdfa4f",
  "metadata": {
    "title": "Statement of account, May 2026",
    "author": "HQF Development",
    "subject": "A record on the second version of PDF, carrying the figures a machine reads",
    "producer": "hqf-pdf-server",
    "created": "2026-06-02T08:15:00+02:00"
  },
  "attachments": [
    {
      "name": "statement",
      "file_name": "statement.xml",
      "media_type": "text/xml",
      "relationship": "alternative",
      "description": "The lines this page states, as a machine reads them",
      "modified": "2026-06-02T08:10:00+02:00"
    }
  ],
  "items": [
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 756, "urx": 523, "ury": 782},
      "content": ["Statement of account, May 2026"],
      "font": "DejaVuSans",
      "font_size": 20
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 640, "urx": 523, "ury": 736},
      "content": ["This record claims the fourth part of the archival standard at the level that carries files. The part it is built on takes a file of any kind, whatever the file itself conforms to, so the same record answers a person and a program. ", "The lines below are carried inside the file as well, in the form a machine reads."],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 16,
      "align": "justify"
    },
    {
      "type": "text",
      "rect": {"llx": 72, "lly": 560, "urx": 300, "ury": 616},
      "content": ["Carriage\nHandling\nDue"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    },
    {
      "type": "text",
      "rect": {"llx": 300, "lly": 560, "urx": 523, "ury": 616},
      "content": ["1 240.00\n186.50\n1 426.50"],
      "font": "DejaVuSans",
      "font_size": 11,
      "leading": 17
    }
  ]
}