Posté(e) le 27 mai 200619 a Salut @ tous. Pour un site que je développes, je dois créer dynamiquement un document pdf et le fournir au visiteur. J'ai donc fais ma petite affaire avec FPDF et tout marche très bien sous Firefox : c'est-à-dire que je peux directement ouvrir le document et le télécharger. Mais sous IE, je peux seulement enregistrer le pdf sur mon DD (il peut alors être consulter sans souci). Si je choisis de l'ouvrir directement, j'ai un message d'erreur : "Une erreur est survenue lors de l'ouverture de ce document. Fichier introuvable." Mon code : // Méthode de cration du fichier pdf a partir des données du formulaire public function generePdf() { $pdf = new FPDF(); $this->nom = str_replace("\'", "'", $this->nom); $this->prenom = str_replace("\'", "'", $this->prenom); $adresse = str_replace("\'", "'", $this->adresse); $adresse = nl2br($adresse); $adresse = explode('<br />', $adresse); $this->ville = str_replace("\'", "'", $this->ville); $pdf->AddPage(); $pdf->SetLeftMargin(35); $pdf->SetRightMargin(30); $pdf->Image('../outils/entete.png', 10, 10); $pdf->Rect(10, 7, 190, 40); $pdf->Ln(0); $pdf->Cell(60, 35, '', 0, 1); $pdf->SetFont('times','BU', 25); $pdf->Cell(140, 30, 'Informations personnelles', 0, 1, 'C'); $pdf->SetFont('Arial','B',14); $pdf->Cell(60, 7, 'Nom : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->nom, 0, 1); $pdf->Cell(60, 7, 'Prénom : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->prenom, 0, 1); $pdf->Cell(60, 7, 'Email : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->email, 0, 1); if ($this->telephone) { $i = '0'; while ($i != strlen($this->telephone)) { $tel[] = substr($this->telephone, "$i", '2') . " "; $i = $i+2; } $pdf->Cell(60, 7, 'Téléphone : ', 0, 0, 'R'); foreach ($tel as $doublet) { $pdf->Cell(5, 7, $doublet, 0, 0); $pdf->Cell(2, 7, '', 0, 0); } $pdf->Cell(60, 7, '', 0, 1); } $pdf->Cell(60, 7, 'Adresse : ', 0, 0, 'R'); foreach ($adresse as $ligne) { $pdf->Cell(0, 7, $ligne, 0, 2); } $pdf->Ln(0); $pdf->Cell(60, 7, 'Code Postal : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->code, 0, 1); $pdf->Cell(60, 7, 'Ville : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->ville, 0, 1); if ($this->statut) { $pdf->Cell(60, 7, 'Statut : ', 0, 0, 'R'); $pdf->Cell(60, 7, $this->statut, 0, 1); } $pdf->Cell(60, 15, '', 0, 1); $pdf->SetLeftMargin(45); $pdf->SetFont('times','', 14); $sousigne = <<<EOT Je sousigné, $this->prenom $this->nom, déclare vouloir adhérer à ----------. EOT; $pdf->Write(6, "$sousigne"); $pdf->SetFont('times','I',14); $pdf->Cell(60, 10, ' ', 0, 1, 'R'); $pdf->Cell(60, 7, ' ', 0, 0, 'R'); $date = date ("d / m / Y"); $pdf->Cell(60, 7, "Le $date,", 0, 1, 'L'); $pdf->Cell(60, 7, ' ', 0, 0, 'R'); $pdf->Cell(60, 7, 'Signature', 0, 1, 'L'); $pdf->Cell(40, 30, '', 0, 1); $text = <<<EOT Une fois ce document imprimé, veuillez le transmettre à l'adresse suivante : EOT; $adresse = <<<EOT ---------------- ---------------- ---------------- EOT; $pdf->SetLeftMargin(45); $pdf->SetFont('times','', 14); $pdf->Write(6, "$text"); $pdf->SetLeftMargin(70); $pdf->SetFont('times','I', 12); $pdf->Cell(60, 10, '', 0, 1); $pdf->Write(7, "$adresse"); $pdf->Output("Adhesion.pdf", "D"); return $pdf; } Merci pour votre aide .... Modifié le 28 mai 200619 a par Quarky
Posté(e) le 27 mai 200619 a Auteur On est jamais mieux servit que par soi même ! Et donc j'ai trouvé la solution comme un grand ! cf. FAQ de FPDF : 5. Lorsque j'utilise une session PHP, IE n'affiche plus mon PDF mais propose de le télécharger.C'est un problème qui affecte certaines versions d'IE. Pour le contourner, ajoutez la ligne suivante avant session_start() : session_cache_limiter('private');
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.