Bonjour,
Démosthène est une application PHP sur une BD Mysql.
Il contient une calculatrice d'intérêts qui permet de générer un schéma de progression d'une créance, dont le montant varie selon les événements.
Nouvelles charges, nouveaux frais, paiements partiels, changement de taux d'intérêts, ...
Imputés sur les frais en vert, les intérêts en rouge, et le capital en bleu.
La classe CreanceCalcul, qui calcule les intérêts et impute les paiements partiels, peut aussi sortir un schéma, sous forme d'une string
[CODE lang=html5]<SVG> ... </SVG>[/CODE]
qui prend sa place dans le code source.
Tout cela fonctionne correctement, voyez le schéma dans le screenshot creanceSvg.png ci-joint.
Comme SVG est une sous-composante de HTML, j'ai pu assaisonner les éléments svg de classes, pour les cibler en JavaScript.
Ce qui me permet de les faire disparaître (opacity 0) ou apparaître (opacity 1) à volonté, selon cases à cocher
Maintenant, j'aimerais imprimer ce schéma.
Pour ce faire, j'ai créé un PDF en paysage, dans lequel je voudrais insérer une image.
La librairie Free PDF propose l'instruction
[CODE lang=php]$monPdf->Image();[/CODE]
qui permet d'insérer une image depuis un fichier externe.
Au format JPG ou PNG seulement
Mais ce n'est pas ce que je souhaite faire.
Voyez le PDF ci-joint, dans lequel j'imprime, provisoirement, tout le code source de mon SVG dans une MultiCell()
D'après ce que j'ai lu, Free PDF ne gère pas les images SVG, mais il existe TCPDF, que je n'ai jamais utilisé.
Avant de l'installer, sauriez-vous me dire si TCPDF, ou une autre librairie PHP, permet d'imprimer des éléments <SVG> dynamiques, c'est à dire générés par l'application, sans provenir d'un fichier.
Car il suffit que l'utilisateur modifie la créance, y ajoute un paiement, une charge, des frais, ...
pour que tout le schéma change.
Schéma qu'actuellement, je ne sais qu'afficher à l'écran.
Je voudrais pouvoir imprimer un schéma dynamique SVG sur PDF en PHP.
Il me faudrait une instruction du genre
$lePdf->imprimeSvg('<SVG>... (tags SVG ici) ...</SVG>', $gauche, $haut, $largeur, $hauteur);
Est-ce que ça existe ?
Quelle est la librairie qui le propose ?
Merci.
Christian.
Partager