Accueil > Documentation > Les balises XPX > PDF

PDF

Vous pouvez créer des PDF avec le xpx, pour cela, il faut utiliser la balise générale <pdf> et utiliser les différents attributs en fonction de ce que vous voulez faire.

Notez que le pdf est à la base un document A4 de 72 dpi (soit 841px par 595px), que les unités sont en pixel, et que tout style apporté (style, color ...) est appliqué jusqu'à une contre-indication.

<pdf file="..." >

L'attrbut file="chemin d'accès", permet de déclarer un nouveau document pdf, en précisant son emplacement lors de sa création. La déclaration d'un pdf nécéssite également l'utilisation de l'attribut "name".

<pdf name="...">

L'attribut name="nom_du_pdf", permet de donner un nom, lors de la création du pdf, puis de préciser sur quel document pdf vous travaillez.

Une action effectuée sur un pdf avec l'attribut "name" ne sera effectuée que sur la page actuellement en cours d'écriture.

<pdf file="documents/documentation.pdf" name="docPDF">

<pdf close="...">

L'attribut close="nom_du_pdf", indique que vous avez terminé les modifications apportées au document. Le pdf est alors fermé et écrit.

<pdf close="docPDF">

<pdf addpage="...">

L'attribut addpage="nom_du_pdf", permet d'ajouter une page à votre document. Autrement, tout votre contenu est écrit sur la même page, même si cette dernière est trop petite pour tout contenir.

<pdf addpage="docPDF">

<pdf frame="...">

Pour les actions d'ajout de contenu, vous avez le choix de déclarer que le contenu est visible uniquement sur la page en cours d'écriture, en utilisant l'attribut "name" vu précédement.

Vous pouvez également choisir de l'afficher sur toutes les pages de votre document. Pour cela, utiliser l'attribut frame="nom_du_document", à la place de l'attribut "name".

<pdf rect="...">

La forme de base utilisée dans le document pdf est le rectangle, il vous permet de créer une zone colorée (avec ou sans bordure), mais également de déclarer une zone de texte.

Pour tracer un rectangle, il faut préciser quatre éléments. On les écrit dans l'odre qui suit: coordonnée en abscisse de l'angle supérieur gauche du rectangle, coordonnée en ordonnée de l'angle supérieur gauche du rectangle, largeur du rectangle, hauteur du rectangle.

<pdf round="...">

Vous pouvez arrondir les angles de vos rectangles avec l'attribut round="x,y".

<pdf rotate="...">

Vous pouvez faire pivoter vos rectangles avec l'attribut rotate="α" (unité en degré).

<pdf border="...">

L'attribut "border" permet d'ajouter une bordure à vos rectangles, elle a la même couleur que le texte éventuellement contenu dans le rectangle. L'attribut prend pour valeur un entier naturel.

<pdf line="...">

Pour tracer une ligne, il faut préciser quatre éléments. On les écrit dans l'odre qui suit: coordonnées en abscisse et en ordonnée du point de départ, déplacement en absicsse et ordonnée par rapport au point de départ.

<pdf line="10,15,0,100">

Pour tracer une ligne verticale de 100 pixels partant du point 10,15.

<pdf color="...">

L'attribut "color" permet de changer la couleur du texte ou de la bordure d'un rectangle. Il prend pour valeur soit un code couleur html du type #FFFFFF, soit le nom d'une couleur clef comme "black".

<pdf bgcolor="...">

L'attribut "bgcolor" fonctionne de la même manière que l'attribut "color", mais donne la couleur au fond du rectangle.

<pdf name"docPDF" rect="$X$, $Y$, $L$, $H$" color="red" bgcolor="#5acf13" border="1" rotate="30" round="5,5">

<pdf text="...">

Pour placer du texte dans vos pdf, vous devez d'abord déclarer un rectangle qui formera votre zone de texte, puis placer le contenu textuel dans l'attribut "text".

<pdf href="...">

Vous pouvez faire un lien clicable sur un texte en précisant dans l'attribut "href" l'url de votre lien.

<pdf path="...">

Pour placer une image dans vos pdf, vous devez d'abord déclarer un rectangle qui formera la zone de l'image, puis placer le chemin de l'image dans l'attribut "path".

<pdf font="...">

Méthode 1

Vous pouvez choisir la police d'écriture de votre pdf, en précisant le nom de la police dans l'attribut "font".

Si rien n'est précisé, la fonte par défaut est "Helvetica". Les fontes PDF utilisables en standard sont:

  • "Helvetica"
  • "Times"
  • "Courier"
  • "Symbol"
  • "ZapfDingbats"

Pour que le XPX calcule correctement les tailles des mots, vous devez avoir installé a2ps sur le serveur. Ou plus simplement avoir un dossier: /usr/share/a2ps/afm/ qui contient les fichiers .afm et le fichier fonts.map.

Méthode 2

Vous pouvez aussi utiliser des fontes TTF stockées sur le serveur. Le chemin est en relatif par rapport au dossier cgi-bin. Par exemple:

<pdf name="f" font="../fonts/verdana.ttf"> si le dossier fonts est au même niveau que le cgi-bin.

La police TTF sera alors incluse dans le PDF ce qui en permettra sa portabilité.

<pdf size="...">

Vous pouvez changer la taille de vos caractères avec l'attribut «size="taille"».

<pdf leading="...">

L'attribut leading="num" permet de régler l'interligne de vos paragraphes.
La valeur par défaut est 2.

<pdf padding="...">

Vous pouvez régler l'espacement entre le bord du rectangle et son contenu avec l'attribut "padding". Il prend pour valeur successive : espace à gauche, espace en haut, espace à droite, espace en bas.

<pdf style="...">

Vous pouvez changer le style de votre texte avec l'attribut "style". Il prend pour valeur "b" pour un texte en gras, "u" pour un texte souligné, et "i" pour un texte en italique. Pour un texte «normal», la valeur est "n". On peut donner plusieurs valeurs séparées par des virgules (exemple style="b,u").

<pdf align="...">

Vous pouvez choisir l'allignement de votre texte dans le rectangle avec l'attribut "align". Il prend pour valeur "left", "center" ou "right".

<pdf rect="0,0,500,400" text="$texte$" href="www.xpx-technologies.net" size="12" font="arial" padding="10,5,10,5" leading="12" style="n" align="left">

<pdf getx="..." gety="...">

Vous pouvez récupérer la valeur des coordonnées de l'angle inférieur droit de votre rectangle grâce aux attributs "getx" et "gety", ceci dans le but d'aider à la mise en place des éléments.

Pour ce faire, il faut préciser un nom de variable dans l'attribut qui prendra alors la valeur recherchée.

<pdf rect="0,0,500,400" getx="varX" gety="varY">

Dans cet exemple simple, varX = 500 et varY = 400

<PDF mode="[clip | noclip | pagebreak]" [gettext="nomvar"]>

Le mode "clip" est le mode par défaut.

Mode clip : Quand on veut écrire du texte dans un rectangle, le texte qui ne peut pas rentrer dans le rectangle n'est pas affiché. Cela évite les débordements quand on a une place limitée sur le document. Le texte qui n'a pas été écrit peut être récupéré avec l'attribut GETTEXT="nomvar". La variable $nomvar$ contient alors la suite du texte.

Mode noclip: Le texte continue a s'afficher même si il ne rentre pas dans le rectangle. La hauteur du rectangle devient dont inutile.

Mode pagebreak: Quand le texte atteind le bas du rectangle, un saut de page est automatiquement fait et le texte continue sur la page suivante.

<pdf calc="$width$" text="$text$" gety="y">

Calcul la hauteur d'un texte text si il était écrit dans une colonne de largeur calc. Le gety permet de récupérer la coordonnée de la fin du texte.

<pdf pagesize="width,height">

L'atttibut pagesize permet de définir la taille de la page en pixels (par défaut A4 portrait : width=595px et height=841px).

 

 

Télécharger

Téléchargez rapidement la dernière version du XPX: Version 3.8-rc16 - 05/02/2019

Le saviez vous ?

Fait touner l'image d'un nombre de degrés dans le sens trigonométrique si l'angle est positif.

FAQ

Venez nous poser vos questions et voir les problèmes courants que vous pouvez rencontrer

Don

Aidez-nous à faire vivre ce site en faisant un don

Condition d'utilisation