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 04/05/2006, 13h27   #1
Membre régulier
 
Homme Joseph Cachico
Chef de projet en SSII
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme Joseph Cachico
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 73
Points : 73
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
jcachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 16h21   #2
Membre régulier
 
Avatar de Yanos
 
Inscription : juillet 2005
Messages : 157
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juillet 2005
Messages : 157
Points : 81
Points : 81
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
Yanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 10h19   #3
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 85
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 85
Points : 26
Points : 26
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.
moabomotal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2006, 14h50   #4
Membre régulier
 
Avatar de Yanos
 
Inscription : juillet 2005
Messages : 157
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juillet 2005
Messages : 157
Points : 81
Points : 81
A priori ça a dû l'aider puisqu'il a mis le topic


Yanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2006, 16h39   #5
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 85
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 85
Points : 26
Points : 26
Le forum sert à partager des connaissances.
moabomotal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 07h52   #6
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
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

++
MatthieuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 10h16   #7
Membre régulier
 
Homme Joseph Cachico
Chef de projet en SSII
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme Joseph Cachico
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 73
Points : 73
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!).
jcachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 10h25   #8
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
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 ...
MatthieuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 14h25   #9
Membre régulier
 
Homme Joseph Cachico
Chef de projet en SSII
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme Joseph Cachico
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 73
Points : 73
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é
jcachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 17h53   #10
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
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
MatthieuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 14h44   #11
Membre régulier
 
Homme Joseph Cachico
Chef de projet en SSII
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme Joseph Cachico
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 73
Points : 73
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 :
    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 :
    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 :
    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
jcachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 01h37   #12
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
Splendide

Je tiens au courant

merci beaucoup
MatthieuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 09h10   #13
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
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
MatthieuL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 20h44   #14
Nouveau Membre du Club
 
Inscription : 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 : 25
Points : 25
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 :
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
MatthieuL 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 15h26.


 
 
 
 
Partenaires

Hébergement Web