Une page d'un PDF fourni, posée sur la page
Reprendre une page d'un PDF envoyé avec la requête et la poser dans un cadre, à ses proportions, au milieu des autres éléments.
Résumé
Vous avez déjà un bon de garantie, un plan ou un reçu en PDF. Plutôt que de le refaire, vous l'envoyez tel quel. La page grandit jusqu'à toucher le bord le plus proche du cadre et se centre dans ce qui reste, sans être écrasée. Autour d'elle, vous continuez à écrire, à dessiner et à mettre des tableaux comme d'habitude.
Techniquement
Demandé avec
"type": "pdf_page"
Les octets du PDF source voyagent avec la requête, dans une partie fournie ; la clé pdf reprend ce nom, pris dans le même vivier que les modèles de page, si bien qu'un seul fichier fourni sert à la fois de fond de page et d'élément placé. Le numéro de page compte à partir de 1. Cette page est copiée, avec les ressources qu'elle utilise, dans un XObject de forme, puis peinte dans le cadre : elle garde ses proportions, grandit jusqu'à toucher la largeur ou la hauteur du cadre, puis se centre dans le reste. À la différence d'un modèle de page, qui garnit toute la page sous le contenu, cet élément est un élément parmi les autres, placé dans une boîte, et se combine donc avec le texte à côté de lui.
Schéma de la requête
Clés obligatoires : pdf, une chaîne nommant la partie fournie ; rect. Facultatives : page, un entier compté à partir de 1, 1 par défaut ; pages, un tableau d'entiers comptés à partir de 1, vide par défaut pour toutes les pages du document fini ; transform, six nombres ; rotate, degrés dans le sens inverse des aiguilles d'une montre autour du centre du rectangle ; layer, le nom d'un calque déclaré. Refus croisé : transform avec rotate. La page importée garde toujours ses proportions : la clé d'ajustement des images n'a pas d'équivalent ici.
Une requête entière qui crée un PDF
{
"items": [
{
"type": "pdf_page",
"pdf": "receipt.pdf",
"page": 1,
"boundary": "crop",
"clip": "crop",
"rect": {"llx": 72, "lly": 480, "urx": 523, "ury": 780}
}
]
}
Images et pages importées
Où aller ensuite
Toutes les clés JSON d'une requête, en une page Les vingt-deux autres choses que l'on peut dessiner