1

Bonjour à tous,


Je me suis confronté -- comme beaucoup d'autres -- au problème de l'intégration d'illustrations SVG.
Au départ de mon projet j'utilisais :$html2pdf->pdf->ImageSVG($file='../chemin/monsvg.svg', $x='position en x en mm', $y='positionnement en y en mm' $w='largeur en mm', $h='hauteur en mm', $link='', $align='', $palign='', $border=0, $fitonpage=false); comme info préconisé sur le forum. Et ça fonctionnait parfaitement... sauf finalement avec la pagination et à globalement à la mise en page dynamique.


Pour vous la faire courte j'ai écris les lignes manquantes pour supporter la lecture des fichiers .svg (SVG Plain / Inkscape) via la balise <img>.
Et ça marche parfaitement. Grâce à quelques lignes seulement. De quoi motiver le développeur pour l'intégrer rapidement.

what Cela dit, cette solution existe peut-être déjà quelque part. En tous cas je n'en ait pas connaissance après de longues recherches. Dites-moi si je me trompe !



Je vous fourni mon code ici :

tromb Fichier joint : html2pdf_svg.class.php

attention Avertissement :
• Je n'ai pas testé longtemps mon code, il n'est donc pas à l'abris de bugs. Faites vos retours ici.
• Je ne le trouve pas super propre. Sentez-vous libre de ré-écrire ça. Merci wink


Pour l'utiliser :

• inclure avant : HTML2PDF et également info SimpleHTMLDom.
• changer l'appel original de la classe par new HTML2PDF_SVG(). Par exemple :
$html2pdf = new HTML2PDF_SVG('P','A4','fr', true, 'ISO-8859-15', array(0, 0, 0, 0)); Utilisez vos paramètres habituels, les miens sont pour l'exemple.

Puis dans votre code HTML c'est tout simple :<img src="mon_fichier.svg" />style="width: 100mm; height: 150mm;" />ou encore (et c'est là que c'est bon) :<img src="mon_fichier.svg" <img src="mon_fichier.svg" style="position: absolute; top: 120mm; left: 140mm; width: 100mm; height: 150mm;" /><img src="mon_fichier.svg" style="width: 100mm; height: 150mm; float: right; border: 3mm solid #ccc;" /><img src="mon_fichier.svg" width=100 height=150 />etc ...


Moi ça m'a sauvé.
Voilà j'espère que ça servira à d'autres !

À bientôt smile
Bertrand A. V.

2

BUG

Petit bug WTF en travaillant avec mes balises IMG à l'instant :

La page doit commencer par un élément en absoluteon_logo.svg"/> (vide ou pas)<div style="position: absolute"></div> <img src="mSinon la classe n'appelle pas la méthode redéfinie... Je ne comprend pas. Mais bon voilà une rustine bien dégueux qui va me dépanner right now.
Bertrand A. V.