Jump to content
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[RESOLU] Problème ouverture PDF avec IE

Featured Replies

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 .... :chinois:

Edited by Quarky

  • Author

On est jamais mieux servit que par soi même !

Et donc j'ai trouvé la solution comme un grand ! :yes:

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');

Archived

This topic is now archived and is closed to further replies.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.