IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Edition de listings dans un fichier PDF en PHP ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    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 ?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Points : 30
    Points
    30
    Par défaut
    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)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    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 ?

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    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?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Points : 30
    Points
    30
    Par défaut
    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....

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    ok merci à tous pour ces quelques conseils !

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

    Merci

    ++

    Eric

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    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 :
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  8. #8
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    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?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    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 ?

  10. #10
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    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?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    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.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Points : 39
    Points
    39
    Par défaut
    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

  13. #13
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    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?

  14. #14
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Points : 30
    Points
    30
    Par défaut
    Désolé, j'arrive trop tard
    et en plus, je suis au boulot, impossible d'avoir accès à mes dev...



    Sur ce, bon dev, et mets le petit Résolu si c'est bon.
    +1

  15. #15
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Si tu veux envoyer ton pdf au navigateur, tu dois utiliser Oupout() sans paramètre :

  16. #16
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->Output("nom.pdf","I");
    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?

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par gofono_bass
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->Output("nom.pdf","I");
    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.

Discussions similaires

  1. [FPDF] Afficher plusieurs tableaux dans un fichier PDF
    Par Pakman80 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/07/2007, 15h19
  2. [FPDF] ajout texte dans un fichier pdf modèle?
    Par moabomotal dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/06/2006, 16h36
  3. [FPDF] Cherche informations pour afficher un fichier pdf avec PHP
    Par Hans_B dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/03/2006, 11h57
  4. [FPDF] Lire le contenu d'un fichier PDF, possible ?
    Par Mister Nono dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/11/2005, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo