Dessins lus dans des fichiers SVG
Fournissez un fichier SVG sous forme de texte : il se dessine net à toute taille, partout où un dessin a sa place.
Le résultat dans un vrai PDF
Un modèle dont les zones se remplissent par leur nom
Une étiquette de livraison dont le graphiste a nommé quatre rectangles dans le fichier même de l’étiquette ; le programme les relit, pose l’étiquette quatre fois et remplit chaque zone en la désignant par son nom : une adresse, un numéro de commande, un logo tiré d’un fichier SVG et un bon de retour.
Résumé
Un logo ou une signature existe souvent sous forme de fichier SVG, le format des logiciels de dessin et des sites web. Vous collez le fichier et lui donnez un nom. Il est tracé à partir de ses propres lignes et courbes : il reste net quelle que soit la taille d’impression.
Techniquement
Écrit au premier niveau d’une requête, sous
"svg_drawings"
svg_drawings lit chaque fichier SVG et en fait un XObject de forme, à l’endroit, aux dimensions qu’indique son élément svg racine. Le dessin s’affiche par son nom, comme un dessin déclaré : placé dans une zone par la clé fill d’un élément pdf_page, ou posé par un élément drawing. Le fichier est fourni sous forme de texte dans la demande, ou comme une partie envoyée avec elle.
Schéma de la requête
-
svg_drawings— tableau, facultatif, vide par défaut. -
svg_drawings[].name— chaîne, obligatoire. Le nom sous lequel le dessin est affiché. -
svg_drawings[].svg— chaîne ; une seule des deux cléssvgetpart. Le fichier SVG lui-même, sous forme de texte. -
svg_drawings[].part— chaîne ; une seule des deux cléssvgetpart. Le nom de la partie, envoyée avec la demande, qui contient le fichier SVG sous forme de texte UTF-8.
Refusé, 400 : un fichier qui n’est pas du XML bien formé, qui déclare ses propres entités, dont l’élément racine n’est pas svg, qui n’indique aucune taille, ou qui contient une forme ou un chemin illisible.
Refusés, 400 : un dessin qui donne à la fois svg et part, ou aucun des deux ; une partie qui n’a pas été envoyée ou qui n’est pas du texte UTF-8 ; un nom que prennent deux dessins, deux fois dans drawings, deux fois dans svg_drawings ou une fois dans chacun. Le message cite le nom et les deux endroits où il figure, puisqu’un remplissage ou un élément drawing qui le nomme pourrait désigner l’un comme l’autre dessin.
Une requête entière qui crée un PDF
{
"svg_drawings": [
{
"name": "seal",
"svg": "<svg width='64' height='64'><circle cx='32' cy='32' r='26'/></svg>"
}
],
"items": [
{ "type": "drawing", "drawing": "seal", "x": 72, "y": 680 }
]
}
Ce qui est dessiné, et ce que cela donne
Tout ce qu’on peut dessiner sur une page 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 de lecture 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