write_first_page_first.json

Le fichier JSON de l'exemple « Montrer la page un sans attendre le reste ». Le même document écrit deux fois, de la façon ordinaire et avec sa première page remontée en tête du fichier, avec la part de chacun qui doit arriver avant que la page un apparaisse.

JSON 5431 lignes dont les 93 premières sont montrées ici

Ce fichier est bien plus long que les autres : le montrer en entier rendrait cette page dix fois plus lourde que n'importe quelle autre, et c'est celui qui la lit sur un téléphone qui paierait la différence. La page montre donc comment le fichier commence, et le bouton ci-dessous remet le fichier lui-même, entier.

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

Ouvrez le livre ci-dessous : la première page paraît à l'instant où vous cliquez, comme si le fichier ne contenait qu'une page — et il en contient 357. C'est tout l'objet de cet exemple, et il vaut d'autant plus que le document est long : un catalogue, un manuel, un rapport de deux cents pages se comportent de la même façon.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
  "first_page_first": {},
  "renumber": [
    {
      "from_page": 2,
      "value": 1
    }
  ],
  "items": [
    {
      "type": "flow",
      "rect": {
        "llx": 64.0,
        "lly": 530.0,
        "urx": "{page_width} - 64",
        "ury": 560.0
      },
      "content": "Little Women",
      "font": "DejaVuSans",
      "font_size": 24.0,
      "align": "center",
      "leading": 30.0,
      "pages": [
        1
      ]
    },
    {
      "type": "flow",
      "rect": {
        "llx": 64.0,
        "lly": 462.0,
        "urx": "{page_width} - 64",
        "ury": 480.0
      },
      "content": "Louisa May Alcott",
      "font": "DejaVuSans",
      "font_size": 13.0,
      "align": "center",
      "leading": 18.0,
      "pages": [
        1
      ]
    },
    {
      "type": "stack",
      "id": "chapter_1",
      "start": {
        "page": 4
      },
      "first": {
        "llx": 64.0,
        "lly": 66.0,
        "urx": "{page_width} - 64",
        "ury": 700.0
      },
      "next": {
        "llx": 64.0,
        "lly": 66.0,
        "urx": "{page_width} - 64",
        "ury": "{page_height} - 64"
      },
      "blocks": [
        {
          "type": "text",
          "content": "CHAPTER I.",
          "font": "DejaVuSans",
          "font_size": 11.0,
          "align": "center",
          "leading": 13.0,
          "color": [
            0.42,
            0.42,
            0.45
          ]
        },
        {
          "type": "space",
          "height": 15.0
        },
        {
          "type": "text",
          "content": "Playing Pilgrims",
          "font": "DejaVuSans",
          "font_size": 15.0,
          "align": "center",
          "leading": 20.0
        },
        {
          "type": "space",
          "height": 34.0
        },
        {
          "type": "text",