0

FPDF et Firefox: comment avoir l’extension .pdf et non .htm?

Print Friendly, PDF & Email

[ A+ ] /[ A- ]

Comme je n’ai pas trouvé de réponse sur le net, je vous donne le fix que j’ai fait.

 

En effet, FPDF est une librairie permettant de générer des fichiers PDF. La dernière version, 1.7, date de 2011. Si au départ, il n’y avait aucun problème de génération de fichiers, j’ai remarqué ici en travaillant sous Firefox qu’en choisissant l’option du téléchargement, l’extension du fichier était .htm et non un PDF. Pourtant, dès que je le téléchargeais sur mon ordinateur, j’obtenais bien un PDF. Après avoir demandé conseil à mon collègue Sylvain, il s’est avéré que le problème venait de FPDF (depuis 2011, il n’y a plus de mise à jour).

 

J’ai regardé donc le code de la fonction Output() dans le fichier fpdf.php et j’ai remarqué le content-type du header n’avait pas la bonne extension. Aussi, je l’ai remplacé et depuis, Firefox me renseigne bien une extension PDF. Voici donc la portion de code à modifier.

case 'D':
// Download file
$this->_checkoutput();
header('Content-Type: application/x-download');
header('Content-Disposition: attachment; filename="'.$name.'"');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Content-Type: text/pdf; charset=utf-8');
//header('Content-Type: text/html; charset=utf-8');
header('Pragma: public');
echo $this->buffer;
break;

 

En espérant que cela aide certains et que je n’ai pas fait de bêtises…


 

Vous avez trouvé l'article intéressant? Partagez-le!

Vinciane

Conseillère pédagogique et développeuse PHP, passionnée de nouvelles technologies, de l'histoire (particulièrement l'Antiquité et la Second Guerre Mondiale) et des jeux vidéo, j'aime écrire, tester et partager.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

dix-neuf − 8 =