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] Publipostage de PDF avec PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2005
    Messages : 112
    Points : 115
    Points
    115
    Par défaut [FPDF] Publipostage de PDF avec PHP
    Bonjour à tous,

    Pour une de mes applications je souhaite réaliser le publipostage d'une lettre type vers un panel d'utilisateurs..

    Savez vous comment à partir d'un PDF modèle remplir les differents champs (nom, prenom,adresse,etc.) et faire en sorte que les lettres vont se coller les une à la suite des autres (générer un seul fichier en fait car il sera envoyer ensuite sur une imprimante)

    Petite precision je ne peux installer phplib et autres classes sur le serveur ou tournerons l'appli

    Par avance merci

  2. #2
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    Si tu arrives à faire un tableau de variables que tu peux rééxploiter c'est jouable.

    Ensuite sans librairie ça peut être dur.

    Dans le lien ci-dessous tu trouvera un package qui te semble te permettre de faire ça sans ajouter de module (à voir)
    http://sourceforge.net/project/showf...group_id=45168


    Sinon essayes de voir si tu ne peux quand même pas utiliser les fonctions de la librairie PDFlib

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    alors t'as pu trouvé une solution à ton problème depuis?

    moi aussi j'ai presque le meme problème:
    http://www.developpez.net/forums/sho...d.php?t=171266

    si t'as trouvé une solution merci de me tenir au courant.

  4. #4
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    A priori ça a dû l'aider puisqu'il a mis le topic



  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    Le forum sert à partager des connaissances.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    Bonjour à tous

    Je ressort ce sujet d'outre tombe parce que finalement il est marqué résolu mais la personne est partit avec l'info ...

    Quelqu'un aurait un solution à apporter ?

    Je voulais me pencher sur PDFlib mais je n'arrive pas à savoir si cette librairie propose la fonctionnalité de publipostage (remplacement de balise dans un document PDF préformaté) ?
    Si certains d'entre vous on des retours à me faire je suis preneur

    Merci et bonne journée

    ++

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2005
    Messages : 112
    Points : 115
    Points
    115
    Par défaut désolé !
    Bonjour à tous, désolé encore une fois d'avoir bouffé la com, je pensais avoir répondu lors du "click on résolu"

    Ma solution à été d'utiliser fpdf (http://www.fpdf.org) qui marche nickel.

    Pour info j'en avais besoin pour une appli qui gére l'envoi de courier aux client d'un grand opérateur mobile (chut keep secret secret!).

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    Très bonne librairie que j'utilise mais là, le soucis c'est que positionner en pixel, chaque champs d'un formulaire pdf importé d'une cinquantaine de pages, depuis le coin haut-gauche de la première page (sachant que le formulaire peut dans 3mois subir des modifications qui décalerais le tout...), vous comprendrais qu'une solution alternative à fpdf serait assez bien venu

    Donc je ne ne sais pas bien si PDFlib le fait, j'ai un peu de mal avec la doc , mais si vous avez une astuce ?

    J'aimerais vraiment trouver une solution, si c'est possible, pour mettre des champs avec balises dans le PDF puis les remplacer à la volée comme en publipostage avec word.

    Je sais que c'est possible de faire ça donc en php avec un word ou openOffice, et pourquoi pas le transformer ensuite en pdf mais je ne suis pas sûr que le rendu soit exceptionnel ...

  9. #9
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2005
    Messages : 112
    Points : 115
    Points
    115
    Par défaut
    Pour l'opérateur en question il s'agissait d'afficher les données d'une facture, donc les unes à la suite des autres et respectant les sauts de pages, en fonctions de la consommation de l'utilisateur, avec ses coordonnées perso (qui n'avait pas la meme taille) etc.

    J'ai donc ecrit une classe issu de FPDF ou chaque méthodes "ecrivait" une zone du courrier l'algo (simplifié) etait.
    • si pas de données la zone A est supprimé
    • zone suivante
    • exit
    • sinon
    • place son xy en fonction du XY global
    • definit le XY global comme celui de la fin de la zone actuelle (avec marge si besoin)
    • recale le reste du courier a partir du XY global (effet cascade avec respect des sauts de pages)
    • ecrit zone suivante


    En esperant t'avoir aidé

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    Oui je vois ce que tu fais mais il faut toujours avoir le xy de chaque texte à placer ...

    Moi j'aurais aimer justement éviter ce travail fastidieux sur 50 pages ...
    Car ce n'est pas portable je trouve.Si une page apparait au milieu, les xy des textes des pages suivantes ne correspondront plus non ?

    Le publipostage permettrais de pouvoir remplacer des balises dans des champs sur le pdf sans se soucier de la mise en page qui elle est donc faite au préalable

    J'espère que j'expose mon problème clairement

  11. #11
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2005
    Messages : 112
    Points : 115
    Points
    115
    Par défaut
    Re

    Je me suis souvenus avoir fait ceci aussi, si cela t'est utile :
    • création de mon pdf avec le writer
    • dessine les champs pour créer un "formulaire pdf" (extension fdf)
    • ecris une chaine particulière dans chaque champs (chp1, chp2,...)
    • enregistre le fichier crée
    • ouvre le avec un editeur de texte (ultraedit en ce qui me conserne)
    • considere le comme une chaine de caractère, cad que
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
       
      %PDF-1.3
      3 0 obj
      <</Type /Page
      /Parent 1 0 R
      /Resources 2 0 R
      /Contents 4 0 R>>
      chp1
      endobj
      devient (en php)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      $str="%PDF-1.3
      3 0 obj
      <</Type /Page
      /Parent 1 0 R
      /Resources 2 0 R
      /Contents 4 0 R>>
      chp1
      endobj";
    • cherche les "chp1,...)
    • remplace les par des "espaces de variables" comme ceci
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      $str="%PDF-1.3
      3 0 obj
      <</Type /Page
      /Parent 1 0 R
      /Resources 2 0 R
      /Contents 4 0 R>>
      ".$chp1."
      endobj";
    • de a à présent un template pour faire du pdf

    a partir de la tu te débrouille pour charger tes variable avant la chaine et avec une boucle et un echo à la fin ca devrait le faire, bon courage

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    Splendide

    Je tiens au courant

    merci beaucoup

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    En revanche aurais-tu une petite idée lors du remplacement pour que les retours à la ligne s'effectuent ?

    Je mets mes champs en multiligne mais je pense qu'il doit falloir revenir à la ligne manuellement. J'ai essayé "\n" mais aucun effet ...

    Tu as réussis à coupler autrement avec fpdf pour faire de la mise en forme gras ... ou impossible ?

    Merci

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    J'ai l'impression de peut-être me perdre : (

    Est-ce quee vous auriez une idée car cela marche bien sous firefox mais IE ne veut rien savoir ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $pdf_file='fichier.pdf';
     
        $pdf_content = file_get_contents($pdf_file);
     
        foreach($_POST as $name => $value)
            $pdf_content = str_replace($name, $value, $pdf_content);
     
        header("Content-Type: application/pdf");
        echo $pdf_content ;*/
    merci à vous

Discussions similaires

  1. [FPDF] Export PDF avec php
    Par momo09 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/07/2007, 16h50
  2. [FPDF] Envoi d'un mail au format PDF avec PHP
    Par King_T dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/05/2006, 19h19
  3. [FPDF] Génération de fichiers PDF avec PHP
    Par deY! dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/04/2006, 17h06
  4. [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
  5. [FPDF] génération d'attestation en PDF avec PHP
    Par moabomotal dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/03/2006, 13h50

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