Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2006, 12h10   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Par défaut [FPDF] Edition de listings dans un fichier PDF en PHP ?

Bonjour,

Je souhaiterais pouvoir afficher sur mon site web un listing des inscriptions enregistrées dans la base de données. Pour cela je n'ai pas de problème en PHP.

Mes soucis commencent quand il faut générer tout cela dans un fichier PDF, que l'on pourra imprimer par la suite.

Ma question : comment créer un fichier PDF en PHP ? Commander l'ouverture de acrobat reader dans une autre fenêtre ?

J'ai trouvé une librairie PDFLib, mais payante. Et EZPDF est-ce bien ?

Je vous remercie d'avance ?
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 13h15   #2
Membre à l'essai
 
Inscription : décembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 27
Points : 22
Points : 22
tu peux aller faire un tour sur ce site :
www.fpdf.org

les classes présentées te permettent aisément de créer un fichier PDF..
et si tu suis bien les tutoriaux, tu ne devrais pas avoir de problème!
(en+, c'est gratuit)
Captain_futur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 13h19   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
il n'y a pas de soucis ensuite pour lancer acrobat reader dans le navigateur pour ouvrir le document aussitot la génération faite ?
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 13h22   #4
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
a priori non, il ya une methode de fpdf qui te permet de soit générer le pdf et l'envoyer au navigateur (en oouvrant donc le plugin d'acrobat reader), de le sauver sur le serveur, de forcer le téléchargement.

Bref, c'est tout bon normalement.

Je dis "a priori" et normalement, mais tu peux aussi faire face à quelques problemes, notament si t'es hébergé chez Amen.. je viens de galérer (probleme non résolu d'ailleurs), mais il semble n'y avoir aucun problem chez d'autres hébergeurs.

Si tu veux en savoir plus sur le probleme dont je te parle :
http://www.developpez.net/forums/viewtopic.php?t=472287
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 13h23   #5
Membre à l'essai
 
Inscription : décembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 27
Points : 22
Points : 22
non, il n' y aucun problème.
par exemple, tu crées ta page 'pdf.php' dans laquelle tu instancies la classe fpdf(), et lorsque tu l'appelles, la page s'ouvre en même temps que Acrobat (ou xpdf sous linux)

pour ma part, j'ai suivi les tuto et les exemples et ça s'est très bien passé...

n'hésites pas à te rendre sur le site, il y a beaucoup d'exemples et de scrit que tu peux utiliser facilement....
Captain_futur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 14h27   #6
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
ok merci à tous pour ces quelques conseils !

J'applique et si problème je reviens vous voir ! lol

Merci

++

Eric
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h11   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Bonjour à tous,

Je tente d'appliquer FDPF pour générer mes fichiers PDF.

J'ai cependant un petit problème : le fichier ne veut pas s'ouvrir automatiquement dans le navigateur et m'afiche l'erreur suivante :
Citation:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/2/f/vvb44/pages/salle/listings/test.php:3) in /var/www/free.fr/2/f/vvb44/include/fpdf153/fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
Si j'enregistre le fichier avec un nom spécifique lors de l'exécution de output, le fichier est correctement crée sur le serveur et lisible.

Pourquoi ce problème ?

Comment ensuite ouvrir mon fichier manuellement dans mon navigateur (IE et firefox) ?

Comment compresser le pdf ? En effet, le code ci-dessous génère un fichier de près de 1Mo !!!!

Voici le code la fenetr que j'utilise pour les tests :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<html>
<body>
<?php
	require('../../../include/fpdf153/fpdf.php');
 
	$pdf=new FPDF();
	$pdf->AddPage();
	$pdf->SetFont('Arial','B',16);
	$pdf->Cell(40,10,'Hello World !');
	$pdf->Output("test.pdf");
?>
</body>
</html>
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h17   #8
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
resalut
vire les balise html et body que t'as mise, il ne faut rien envoyer au navigateur avant ton pdf.. absolument rien.
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 14h58   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Re,

Ok j'ai donc viré le code HTML.

Cependant, mon navigateur ne parvient pas à ouvrir le fichier directement dans la nouvelle fenêtre et bloque.

Si ce demande d'enregistrer le fichier en lui donnant un nom pas de problème.

Comment forcer l'ouverture manuelle du fichier dans la fenêtre ?
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 15h04   #10
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
quels paramètres affectes tu a Output()? à part le nom du fichier?

sinon, je rencontre de temps en temps aussi ce probleme de la fenetre IE qui plante (c'est bien ça?). En fait (du moins dans mon cas) , c'est de la faute d'acrobat reader, qui essaie de se mettre a jour et attend que tu valides cette mise ajour. Réduis tes fenetres une par une et tu verras une boite de dialogue d'acrobat...
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 15h08   #11
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
je donne juste le nom de fichier : Output("test.pdf");

Sinon popur ce qui est de la mise à jour de Acrobat, je n'ai pas de fenêtre me signifiant cela et de plus le chargement de la page ets marqué comme étant terminé, laissant la page blanche.
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 15h28   #12
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
bon alors les dernières news :
=> j'ai réussi à afficher dans le navigateur en appliquant des scripts proposés sur le site de FPDF.
=> je suis tout de même obligé d'enregistrer le fichier sur le serveur mais bon ça fonctionne sous Firefox et IE, c'est déjà ça.

Merci pour le coup de main.

Eric
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 07h44   #13
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
OK ben c'st cool, juste un lien a te filer au cas ou tu ne le connaissais pas, qui te donne notamment la liste des parametres à donner à Output() pour sauvegarder sur le serveur, pour l'afficher dans le navigteur, focer le téléchragement et tout ça...

http://www.fpdf.org/fr/doc/index.php

Sur ce, bon dev, et mets le petit Résolu si c'est bon.
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 08h19   #14
Membre à l'essai
 
Inscription : décembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 27
Points : 22
Points : 22
Désolé, j'arrive trop tard
et en plus, je suis au boulot, impossible d'avoir accès à mes dev...



Citation:
Sur ce, bon dev, et mets le petit Résolu si c'est bon.
+1
Captain_futur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 09h18   #15
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Si tu veux envoyer ton pdf au navigateur, tu dois utiliser Oupout() sans paramètre :
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 09h45   #16
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
Citation:
Si tu veux envoyer ton pdf au navigateur, tu dois utiliser Oupout() sans paramètre
par défaut oui, sans paramètre mais s'il veut spécifier un nom, il peut toujours mettre:
Code :
$pdf->Output("nom.pdf","I");
Citation:
string Output([string name [, string dest]])
(...)
dest
Destination où envoyer le document. Le paramètre peut prendre les valeurs suivantes :
I : envoyer en inline au navigateur. Le plug-in est utilisé s'il est installé. Le nom indiqué dans name est utilisé lorsque l'on sélectionne "enregistrer sous" sur le lien générant le PDF.
D : envoyer au navigateur en forçant le téléchargement, avec le nom indiqué dans name.
F : sauver dans un fichier local, avec le nom indiqué dans name.
S : renvoyer le document sous forme de chaîne. name est ignoré.
Si le paramètre n'est pas renseigné et qu'un nom est indiqué, la destination est F. Si aucun paramètre n'est renseigné, la destination est I.
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 09h53   #17
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Citation:
Envoyé par gofono_bass
Citation:
Si tu veux envoyer ton pdf au navigateur, tu dois utiliser Oupout() sans paramètre
par défaut oui, sans paramètre mais s'il veut spécifier un nom, il peut toujours mettre:
Code :
$pdf->Output("nom.pdf","I");
Citation:
string Output([string name [, string dest]])
(...)
dest
Destination où envoyer le document. Le paramètre peut prendre les valeurs suivantes :
I : envoyer en inline au navigateur. Le plug-in est utilisé s'il est installé. Le nom indiqué dans name est utilisé lorsque l'on sélectionne "enregistrer sous" sur le lien générant le PDF.
D : envoyer au navigateur en forçant le téléchargement, avec le nom indiqué dans name.
F : sauver dans un fichier local, avec le nom indiqué dans name.
S : renvoyer le document sous forme de chaîne. name est ignoré.
Si le paramètre n'est pas renseigné et qu'un nom est indiqué, la destination est F. Si aucun paramètre n'est renseigné, la destination est I.
Bien vu. Merci pour l'info.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h10.


 
 
 
 
Partenaires

Hébergement Web