Générer un PDF avec FPDF en PHP sous IE

Résolu
mariostar27 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -  
 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.


A voir également:

4 réponses

francis
 
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
0
mariostar27 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   26
 
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.
0
mariostar27 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   26
 
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.
0
Soho
 
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
0