Quarky Posté(e) le 27 mai 2006 Partager Posté(e) le 27 mai 2006 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 .... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 27 mai 2006 Auteur Partager Posté(e) le 27 mai 2006 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'); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.