pdf4tcl

 

pdf4tcl est une extension permettant de générer des documents au format PDF.

La page sur le wiki anglophone : http://wiki.tcl.tk/pdf4tcl

La page originale (version 0.2): http://truckle.in-chemnitz.de/pdf4tcl/pdf4tcl.html

La page récente (version 0.4): http://pdf4tcl.berlios.de/


dc Cette extension manque cruellement d'une documentation, les exemples fournis permettent de s'approprier les commandes, en cas de doute, la lecture du code de l'extension s'avère indispensable :(

Kroc - Depuis la version 0.4, la documentation est beaucoup plus complète : [1]

Un petit panorama des commandes telles que définies dans la version 0.4 (liste sans doute non exhaustive), les coordonnées et dimensions sont en points Postscript.


pdf4tcl::new

  pdf4tcl::new doc -paper a4 -compress true; # compresser le fichier résultant, nécessite le package zlib)

write

  doc write -file fichierSortie.pdf

cleanup

  doc cleanup; # (désactive la commande doc)

startPage

  doc startPage
  doc startPage a4
  doc startPage 595 842; # (largeur hauteur)
  doc startpage 595 842 0; # (pour orientation paysage)

setFillColor

  doc setFillColor 0.5 0.8 1

setStrokeColor

  doc setStrokeColor 0.5 0.8 1

setLineStyle

  doc setLineStyle 0.4; # (épaisseur)
  doc setLineStyle 0.4 5 2; # (description pointillés on off)

line

  doc line 12 34 56 78; # (ligne de (12,34) à (56,78))

circle

  doc circle 12 34 10 -filled 0; # (0 pour ne pas le remplir, de centre (12,34) et de rayon 10)

arrow

  doc arrow 12 34 56 78 5; # (fléche de (12,34) à (56,78), les barres de fléches de taille 5)
  doc arrow 12 34 56 78 5 15; # (angle des barres de fléche de 15° (par défaut 20°)

rectangle

  doc rectangle 12 34 20 30; # (rectangle de coin sup. gche (12,34) de largeur 20 et de hauteur 30)
  doc rectangle 12 34 20 30; # -filled (on le remplit)

polygon

  doc polygon 0 12 34 56 78; # (0 pour ne pas le remplir, puis les différentes paires de coordonnées des sommets)

arc

  doc arc 12 34 10 10 0 90; # (arc de cercle de centre (12,34) de rayon 10, commençant à l'angle 0° et s'étendant sur +90°)

qCurve

  doc qCurve 12 34 56 78 90 100; # (courbe de Bézier de (12,34) à (90,100) avec (56,78) pour point de contrôle)

setFont

  doc setFont 14 Helvetica-Bold; # (on ajoute le nom de la police choisie (par défaut Helvetica))

setTextPosition

  doc setTextPosition 12 34; # (positionne le curseur au point (12,34))

setDrawText

  doc drawText "http://wfr.tcl.tk"; # (écrit le texte à l'endroit actuel du curseur)

drawTextAt

  doc drawTextAt 12 34 "http://wfr.tcl.tk/"; # (place le texte à la position (12,34))
  doc drawTextAt 12 34 "http://wfr.tcl.tk/" right; # (alignement à droite)

drawTextBox

  doc drawTextBox 12 34 10 30 "http://wfr.tcl.tk/"; # (place le texte dans une boîte au coin sup. gche (12,34) de largeur 10 et de hauteur 30)
  doc drawTextBox 12 34 10 30 "http://wfr.tcl.tk/" -align center

addJpeg

  doc addJpeg fichier.jpg id; # (nom du fichier et identifiant pour le script)

putImage

  doc putImage id 12 34; # (place l'image d'identifiant id aux coordonnées (12,34)
  doc putImage id 12 34 -width 10 -height 30