Tout ce qu'on peut dessiner sur une page
La seule clé obligatoire : la liste de ce qui est dessiné, dans l'ordre du tracé. Vingt-quatre sortes en tout.
Résumé
Tout le reste règle le document ; celle-ci le remplit. Du texte, un tableau, une photo, un code-barres, un trait, une case à cocher : chaque chose dit ce qu'elle est et où elle se met. La dernière écrite passe par-dessus les précédentes, comme des feuilles empilées sur un bureau, et c'est ainsi qu'un tampon se retrouve au-dessus de la page qu'il traverse.
Techniquement
Écrit au premier niveau d'une requête, sous
"items"
items est la seule clé qu'une requête doit contenir. C'est un tableau, dans l'ordre du dessin, où chaque entrée a une clé type qui dit laquelle des vingt-quatre sortes elle est ; cet ordre est celui de la peinture, donc un article postérieur en recouvre un antérieur. La plupart des sortes partagent une base commune de réglages : le rectangle où elles vivent, les pages où elles paraissent, le calque auquel elles appartiennent, une rotation ou une transformation. Chaque sorte a une page de détail à elle.
Schéma de la requête
-
items— tableau, obligatoire. L'unique clé qu'une requête doit contenir. -
Chaque entrée est un objet à
type, ou un tableau dont le premier élément est l'étiquette. Un objet sanstypeest refusé ; deuxtypedans le même objet aussi. -
Vingt-quatre valeurs de
type, chacune avec sa page, listées plus bas. -
Réglages que la plupart des sortes ont en commun :
pages, soit un tableau d'entiers comptés à partir de 1, vide par défaut et valant alors toutes les pages, soit une règle :every, valantpage(par défaut),odd_pageoueven_page;frometto, numéros de page comptés à partir de 1, bornes comprises, absents partant de la première page et allant jusqu'à la dernière ;but, un tableau des pages laissées de côté, chacune un nombre ou une expression, si bien que"{page_of_headline}"laisse de côté la page où un article s'est ouvert.layer(le nom d'un calque déclaré),idetrelative_to(pose par rapport à un autre article),transform(six nombres) ourotate(degrés) — les deux ensemble sont refusés.
Les vingt-quatre choses qu'un article peut être
Chacune a sa page : ce qu'elle est, ce qu'elle fait techniquement, le schéma de la requête qu'elle prend, et une requête entière qui la montre.
Texte
-
Un bloc de texte posé sur la page
textÉcrire du texte dans un rectangle choisi, avec sa police, sa taille et sa couleur, et mettre en valeur un mot au milieu d'une phrase. -
Du texte en paragraphes, avec retraits et tabulations
flowPoser plusieurs paragraphes dans un cadre, avec retrait de première ligne, espace entre eux, listes à puces et colonnes de chiffres alignées. -
Un tampon en travers de la page
stampPoser un mot en travers d'une zone, à la taille qui remplit la boîte : brouillon, payé, copie, annulé, en diagonale ou à plat. -
Une ligne de mots posée le long d'un chemin
text_pathFaites courir une ligne de texte autour d'un sceau ou sur une arche : chaque lettre se tient sur la courbe et penche comme elle penche. -
Des blocs posés les uns sous les autres, page après page
stackEmpilez paragraphes, tableaux, images et traits : ce qui ne tient pas au bas d'une page continue sur la suivante, tout seul.
Les tableaux
-
Un tableau qui se poursuit de page en page
tableDes lignes et des colonnes qui coulent sur autant de pages qu'il faut, avec en-tête répété, filets, fonds de couleur et cellules fusionnées.
Images et pages importées
-
Une image posée dans un rectangle
imagePlacer dans un cadre choisi une photo ou un logo fourni avec la requête, étiré jusqu'aux bords ou gardé à ses propres proportions. -
Une page d'un PDF fourni, posée sur la page
pdf_pageReprendre une page d'un PDF envoyé avec la requête et la poser dans un cadre, à ses proportions, au milieu des autres éléments.
Les codes-barres et les codes carrés
-
Un code-barres à barres verticales
barcodeDessiner un code-barres que lit une douchette : Code 128, Code 39, Code 93, ITF-14, Codabar, EAN-13, UPC-A, EAN-8, UPC-E, GS1 DataBar et les deux compléments. -
Un code QR carré, lisible au téléphone
qrDessiner un code QR qui encode une adresse web ou un texte, lu par n'importe quel téléphone, avec sa marge blanche tout autour. -
Un code Aztec, sans marge blanche autour
aztecDessiner un code Aztec, celui des billets de train : carré, sans marge autour, avec la part de sécurité que vous choisissez. -
Un code Data Matrix, très petit et très solide
data_matrixDessiner un code Data Matrix, celui des colis et des petites pièces : autant de contenu qu'un code QR dans beaucoup moins de place. -
Un code PDF417, qui contient tout un formulaire
pdf417Dessiner un code PDF417 en barres empilées, celui des cartes d'embarquement : il contient un formulaire entier, pas seulement un numéro.
Formes
-
Un tracé libre : lignes, courbes et surfaces
pathDessiner une forme point par point, avec des segments droits et des courbes, remplie d'une couleur ou d'un dégradé, et cernée d'un trait. -
Un rectangle plein ou encadré
rectPoser un rectangle : un fond de couleur derrière un titre, un cadre autour d'une zone, ou les deux, avec le trait de votre choix. -
Une ligne droite entre deux points
lineTirer un trait d'un point à un autre, à l'épaisseur, à la couleur et au pointillé voulus : filet de séparation, soulignement, réglure. -
Un dessin déclaré une fois et posé autant de fois qu'on veut
drawingPosez sur la page un dessin que la demande a déclaré, où vous voulez et à la taille que vous voulez, sans que le fichier contienne deux fois la même encre.
Champs de formulaire
-
Un champ que le lecteur remplit
text_fieldAjouter un champ à remplir : un nom, une adresse, un commentaire sur plusieurs lignes, un mot de passe caché, ou un numéro à raison d'une case par chiffre. -
Une case que le lecteur coche
check_boxAjouter une case à cocher : accepter des conditions, choisir une option, avec la marque de votre choix et la valeur rapportée voulue. -
Une liste dans laquelle le lecteur choisit
choice_fieldOffrir une liste de réponses : liste déroulée, menu qui s'ouvre, ou menu dans lequel le lecteur tape aussi sa propre réponse. -
Plusieurs boutons, une seule réponse
radio_groupPoser des boutons dont un seul reste choisi à la fois, chacun à sa place sur la page, tous rattachés à la même question. -
L'emplacement réservé à une signature
signature_fieldRéserver sur la page l'endroit où une signature électronique viendra se poser, avec son nom et son encadrement. -
Un bouton sur lequel le lecteur appuie
push_buttonPoser un bouton qui agit au lieu de répondre : ouvrir une adresse, aller à une page, envoyer le formulaire ou le remettre à zéro.
Navigation
-
Une zone de la page sur laquelle on clique
linkRendre un morceau de page cliquable : il ouvre une adresse web, ou emmène le lecteur à une autre page du même document.
Une requête entière qui crée un PDF
{
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "rect",
"rect": { "llx": 60, "lly": 700, "urx": 535, "ury": 780 },
"fill": [0.93, 0.95, 0.98]
},
{
"type": "text",
"id": "headline",
"rect": { "llx": 72, "lly": 730, "urx": 523, "ury": 760 },
"content": ["Drawn second, so it sits on top"],
"font": "sans",
"font_size": 16
},
{
"type": "text",
"rect": { "llx": 72, "lly": 690, "urx": 523, "ury": 712 },
"relative_to": { "id": "headline", "edge": "bottom", "offset": -18 },
"content": ["Placed under the line above, wherever that one landed"],
"font": "sans",
"font_size": 11
},
{
"type": "text",
"rect": { "llx": 72, "lly": 60, "urx": 523, "ury": 76 },
"pages": { "every": "even_page", "from": 3, "but": [7] },
"content": ["On the even pages from page three, page seven excepted"],
"font": "sans",
"font_size": 9
}
]
}
Ce qui est dessiné, et comment cela sort
Le poids du fichier et le temps de calcul La première page, montrée pendant que le reste arrive Les calques que le logiciel de lecture montre ou cache Un nom qui vaut pour plusieurs calques à la fois Un dessin fait une fois, montré par un bouton Les jeux de calques que le logiciel propose Les calques dont le logiciel ne montre qu'un à la fois
Où aller ensuite
Toutes les clés JSON d'une requête, en une page Les quarante et un autres réglages d'une requête