write_text.json

Le fichier JSON de l'exemple « Les polices embarquées dans le fichier ». Du texte composé dans une police écrite dans le fichier, réduite aux seules lettres employées, et que l'on peut toujours chercher, copier et lire à voix haute.

JSON 34 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 donne 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 porte 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

Envoyez un document à quelqu'un qui n'a pas votre police maison et l'une de deux choses arrive : son logiciel de lecture en met discrètement une autre à la place et votre mise en page bouge, ou il trace des cases vides là où étaient les lettres. Contenir la police dans le fichier est le seul remède, et c'est la première chose qu'une imprimerie vous demandera avant d'accepter le travail.

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
{
  "metadata": {
    "title": "hqf-pdf text sample"
  },
  "items": [
    {
      "type": "text",
      "rect": {
        "llx": 60,
        "lly": 600,
        "urx": 560,
        "ury": 788.0
      },
      "content": [
        "Invoice No. 1964413 \u2014 HQF Development, Cabri\u00e8s\nIssued 14 July 2026 \u2014 due within 30 days\nRendering engine development ............... 4 250.00 EUR\nVAT at 20 % .................................. 850.00 EUR\nTotal due .................................. 5 100.00 EUR"
      ],
      "font": "DejaVuSans",
      "font_size": 14.0,
      "leading": 28.0
    },
    {
      "type": "rect",
      "rect": {
        "llx": 60,
        "lly": 620,
        "urx": 381.719727,
        "ury": 620
      },
      "stroke": {
        "width": 0.8
      }
    }
  ]
}