Une image posée dans un rectangle

Placer dans un cadre choisi une photo ou un logo fourni avec la requête, étiré jusqu'aux bords ou gardé à ses propres proportions.

Résumé

Votre photo ou votre logo voyage avec la requête et vient se poser dans le cadre que vous désignez. Remplir le cadre bord à bord convient à un fond ; garder les proportions d'origine et centrer dans ce qui reste convient à un portrait ou à un produit, que le bord à bord écraserait. La même image peut servir à plusieurs endroits, petite dans un coin et grande sur une autre page, sans être envoyée deux fois.

Techniquement

Demandé avec "type": "image"

Les octets de l'image voyagent avec la requête, dans une partie fournie du corps multipart/form-data ; la clé image reprend ce nom. C'est le même vivier de parties fournies que celui d'où viennent les modèles de page, si bien que plusieurs éléments dessinent la même image à des tailles et à des endroits différents, pour un seul envoi et une seule copie dans le fichier fini. Cette partie est écrite comme un XObject d'image — DCTDecode pour un JPEG, FlateDecode pour un PNG ou un BMP, avec un SMask là où l'image est transparente — et peinte avec Do dans le cadre. Le cadre est un rectangle en points ; l'ajustement dit si l'image remplit ce rectangle ou garde ses proportions. L'élément prend les mêmes réglages de placement que les autres : pages choisies, matrice, rotation et calque.

Schéma de la requête

Clés obligatoires : image, une chaîne nommant la partie fournie ; rect. Facultatives : fit, soit un mode seul, soit un objet. Le mode vaut stretch (par défaut, l'image remplit le rectangle), contain (elle garde ses proportions et se centre dans ce qui reste), cover (elle garde ses proportions et couvre le rectangle en entier, clip retenant ce qui dépasse), natural (sa taille propre, quel que soit le rectangle) ou shrink_to_fit (comme contain, sauf qu'une image déjà plus petite que le rectangle est laissée à sa taille propre). L'objet prend mode (stretch par défaut) ; anchor, où se pose l'image une fois dimensionnée, valant bottom_left, bottom, bottom_right, left, center (par défaut), right, top_left, top, top_right, ou deux fractions [x, y] de 0 à 1 comptées depuis le bord gauche et depuis le bas ; margin, les points retirés de chaque côté avant tout ajustement, 0 par défaut ; turn, de combien l'image est tournée en entrant, droite par défaut ; mirror, valant neither (par défaut), left_to_right, top_to_bottom ou both ; clip, un booléen à false, qui dit si ce qui dépasse de la boîte est retenu hors de la page. clip_to_path, un booléen à false, qui tient l'image à l'intérieur du tracé porté par son propre fichier — celui qu'un logiciel de retouche enregistre quand il découpe une image et en écarte le fond ; sans tracé, l'image est dessinée en entier. pages, un tableau d'entiers comptés à partir de 1, vide par défaut pour toutes les pages ; 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. Un nom d'image que la requête laisse sans partie fournie répond par un 400.

Une requête entière qui crée un PDF

{
  "items": [
    {
      "type": "image",
      "image": "logo.png",
      "rect": {"llx": 72, "lly": 660, "urx": 192, "ury": 780},
      "fit": {
        "mode": "contain",
        "anchor": "top_left",
        "turn": "upright",
        "mirror": "neither"
      }
    }
  ]
}

La ligne qui l'envoie, en trois langages

Images et pages importées

Une page d'un PDF fourni, posée sur la page

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