1

Hello,

j'ai récemment utilisé html2pdf pour la génération de fichiers pdf sur mon serveur.

Lorsque j'étais en environnement de développement, le fichier se générait parfaitement, aucun problème. Et une fois poussé en prod, problème de fpdf : "version de php non supportée"

Je fais donc deux petits phpinfo sur les serveurs : dev > PHP 4.3.11 et prod > 4.3.9

Brève visite sur le site de fpdf où je lis : "la dernière version requiert au moins PHP 4.3.10"
Ok, je télécharge la version précédente de fdpf, qui ne nécessite pas php 4.3.10, je teste en dev > aucun problème ; je teste en prod > les fichiers pdf générés sont blancs, mais font exactement le même poids qu'en dev. De plus lorsque je regarde le contenu hexa du fichier dans un éditeur de texte, le contenu ne semble pas vide du tout...

require_once('include/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($pdf);
$fileName = 'fichier.pdf';
$html2pdf->Output($fileName,'F');


Merci de votre aide

2

c'est tout à fait normal : HTML2PDF est fait pour fonctionner avec FPDF 1.6, et utilise les mêmes spécificités que FPDF 1.6 qui font que PHP 4.3.10 est nécessaire... Donc même si tu mets une ancienne version de FPDF, il ne pourra pas fonctionner normalement. Mais étant donné que FPDF faisait déjà le test sur la version de PHP, je ne me suis pas embêté à la remettre dans HTML2PDF. Dans ton cas, tu as remis FPDF 1.5, qui ne fait pas le test, donc HTML2PDF pense que la version de PHP est la bonne, et du coup, cela corrompt le fichier généré.

Donc pour résumé... soi tu reprends une vieille version de HTML2PDF (avant la v3.09), mais du coup beaucoup de bug ne seront pas corrigés (cf http://wiki.spipu.net/doku.php?id=html2pdf:fr:versions), soit tu mets à jours ton PHP en prod, en sachant qu'entre 4.3.9 et 4.3.11, tu n'auras surement pas de pb de compatibilités (et puis la 4.3.9 commence à être veille...)
Ancien pseudo : lolo

3

Hello,

merci de ta réponse.

Je n'ai pas la main sur la version de php en prod, je vais voir si je peux demander une mise à jour à l'hébergeur, ca sera la plus simple.

Ce qui est étrange, c'est tout de même que sur mon environnement de dev, en mettant la version 1.5 de FPDF, ça marchait très bien !

(et pour ce qui est de la version de php, oui... c'est vieux... si ça ne tenait qu'à moi on n'utiliserait plus ces vieux elePHPants...)

Merci


niko

4

nikophil (./3) :
Ce qui est étrange, c'est tout de même que sur mon environnement de dev, en mettant la version 1.5 de FPDF, ça marchait très bien !


oui, car tu avais quand meme php > 4.3.10, ce qui est nécessaire pour HTML2PDF, car comme je l'ai marqué ci-dessus :
HTML2PDF est fait pour fonctionner avec FPDF 1.6, et utilise les mêmes spécificités que FPDF 1.6


j'ai bien marqué qu'il utilisait les mêmes spécificités que FPDF, et non qu'il utilisait les spécificités de FPDF wink ce qui veut dire qu'il utilise également des propriétés propres à php 4.3.10
Ancien pseudo : lolo

5

haha ok, très bien, merci pour on éclairage,
je m'empresse d'ouvrir un ticket pour mettre à jour le serveur de prod, je n'ai pas envie de devoir utiliser une ancienne version de html2pdf, ca serait débile smile

bonne continuation

6

bonne chance, car je sais d'expérience qu'une telle montée de version n'est pas forcement évidente à valider...
Ancien pseudo : lolo