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