write_gradient_fill.json

Le fichier JSON de l'exemple « Textes et formes remplis d'un dégradé ». Un dégradé employé comme couleur de remplissage : un titre dont les lettres sont autant de fenêtres sur un dégradé à trois couleurs, et un panneau rempli d'un dégradé en cercle.

JSON 75 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

Un gros titre en dégradé, c'est fait pour une affiche, une couverture, une page de garde — et la façon habituelle d'en obtenir un est de le fabriquer dans un logiciel de dessin et d'en déposer l'image. Le texte cesse alors d'être du texte : on ne peut plus le chercher, on ne peut plus le copier, et on ne peut plus le traduire sans repasser par celui qui l'a fabriqué.

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
{
  "shadings": [
    {
      "name": "letters",
      "shading": {
        "axial": {
          "from": [70.0, 660.0],
          "to": [372.654297, 660.0],
          "space": "rgb",
          "function": {
            "stitching": {
              "functions": [
                {
                  "exponential": {
                    "low": [0.85, 0.12, 0.12],
                    "high": [0.12, 0.55, 0.2]
                  }
                },
                {
                  "exponential": {
                    "low": [0.12, 0.55, 0.2],
                    "high": [0.12, 0.2, 0.8]
                  }
                }
              ],
              "bounds": [0.5],
              "encode": [[0.0, 1.0], [0.0, 1.0]]
            }
          }
        }
      }
    },
    {
      "name": "panel",
      "shading": {
        "radial": {
          "from": [297.5, 445.0, 0.0],
          "to": [297.5, 445.0, 227.5],
          "start": [1.0, 1.0, 1.0],
          "end": [0.1, 0.15, 0.45],
          "extend": [false, true]
        }
      }
    }
  ],
  "items": [
    {
      "type": "text",
      "rect": {"llx": 70, "lly": 660, "urx": 525, "ury": 760.8},
      "content": ["hqf-pdf"],
      "font": "DejaVuSans",
      "font_size": 84,
      "color": {"shading": "letters"}
    },
    {
      "type": "text",
      "rect": {"llx": 70, "lly": 634, "urx": 525, "ury": 649.6},
      "content": ["Text filled with a gradient, through a shading pattern."],
      "font": "DejaVuSans",
      "font_size": 13
    },
    {
      "type": "rect",
      "rect": {"llx": 70, "lly": 350, "urx": 525, "ury": 540},
      "fill": {"shading": "panel"}
    },
    {
      "type": "text",
      "rect": {"llx": 70, "lly": 334, "urx": 525, "ury": 348.4},
      "content": ["A shape filled with a radial gradient."],
      "font": "DejaVuSans",
      "font_size": 12
    }
  ]
}