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}
    }
  ]
}

La ligne qui l'envoie, en trois langages

Images et pages importées

Une image posée dans un rectangle

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

Voir les prix Voir les exemples