Générer un PDF avec FPDF en PHP sous IE
Résolu
mariostar27
Messages postés
442
Statut
Membre
-
Soho -
Soho -
Bonjour,
Je souhaite que, sur un site internet, les gens puisse télécharger un pdf.
Pour cela, j'utilise le freeware FPDF pour générer un PDF.
Le soucis, c'est que celui ci ne fonctionne pas sous Internet Explorer tandis que je peux générer, et donc télécharger, un PDF sous Mozilla Firefox.
Sous IE, lorsque je clique sur le bouton éditer un fichier PDF, j'obtiens le message suivant :
Internet Explorer ne peut pas télécharger monpdf.php de monsiteweb.fr
Internet Explorer n'a pas pu ouvrir ce site internet. Le site requis n'est pas disponible ou n'a pas pu être retrouvé. Réessayez ultérieurement.
Pouvez vous m'aider svp ??? merci d'avance.
--
gwennael
Je souhaite que, sur un site internet, les gens puisse télécharger un pdf.
Pour cela, j'utilise le freeware FPDF pour générer un PDF.
Le soucis, c'est que celui ci ne fonctionne pas sous Internet Explorer tandis que je peux générer, et donc télécharger, un PDF sous Mozilla Firefox.
Sous IE, lorsque je clique sur le bouton éditer un fichier PDF, j'obtiens le message suivant :
Internet Explorer ne peut pas télécharger monpdf.php de monsiteweb.fr
Internet Explorer n'a pas pu ouvrir ce site internet. Le site requis n'est pas disponible ou n'a pas pu être retrouvé. Réessayez ultérieurement.
Pouvez vous m'aider svp ??? merci d'avance.
--
gwennael
4 réponses
-
salut,
Je me souviens avoir dev un truc avec fpdf, et ça marchait avec ie et firefox.
poste la fin de ton code pour voir -
Voici mon code PHP pour le PDF :
<?php session_cache_limiter('nocache'); require("../include/DBfonction.php"); require("../include/fonctions.php"); require("../include/parametres.inc"); require("../include/connexion.inc.php"); require("../class/Permission.php"); include("include/requete_dae.php"); require('../include/fpdf/fpdf.php'); class PDF extends FPDF { //En-tête function Header() { //Police Arial gras 15 $this->SetFont('Arial','B',15); //Titre $this->Cell(0,10,'Tableau des indemnités',1,0,'C'); //Saut de ligne $this->Ln(20); } //Pied de page function Footer() { //Positionnement à 1,5 cm du bas $this->SetY(-15); //Police Arial italique 8 $this->SetFont('Arial','I',8); //Numéro de page $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } //Instanciation de la classe dérivée $pdf=new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Times','',12); for($i=1;$i<=40;$i++) $pdf->Cell(0,10,'Impression de la ligne numéro '.$i,0,1); $pdf->Output(); ?>
Au début, tout fonctionnai très bien, même sous IE, mais maintenant j'ai se fameux message d'erreur. -
Il y a une "légère" partie de mon code que je n'ai pas affiché.
J'utilise quelque par la fonction verif_session(); mais apparement IE n'accepte pas cela pour la génération de PDF. d'ou cette erreur bizarre.
Il faut simplement ajouter les ligne suivante avant de faire un output() :
header("Cache-Control: public, must-revalidate"); header("Pragma: hack");
Voila. J'éspère que cela servira ^^.
Merci à toi francis de m'avoir répondu. -
Merci Mario !
Je confirme : cela m'a servi. Après plusieurs heures d'arrachage de cheveux, je suis tombée sur ta solution. Ca fonctionne très bien !
Merci encore de l'avoir partagée