HTML et impression n'étant pas terriblement fait l'un pour l'autre, je
souhaiterais pouvoir modifier des champs d'un document PDF déjà crée
(sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer
les champs d'une base de donnée.
J'ai trouvé pas mal de ressources sur le net mais toutes ne s'accordent
pas sur la facilité de cette tâche.
Avez-vous des conseils ou de bonnes doc à me suggérer ?
Le 18 Feb 2010 20:55:45 GMT, Olivier Masson écrivait dans fr.comp.lang.php:
Bonjour,
Est-il simple de modifier un PDF en PHP ?
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
Attention, si tu crées d'avance un document pdf, tu auras les dimensions fixes. Donc, tu devras décider d'avance si c'est du A4 (Europe) ou du format légal (Amérique du Nord). Pour cette raison, le mieux serait à mon avis de produire le pdf au complet à la volée.
Denis
Le 18 Feb 2010 20:55:45 GMT, Olivier Masson <sisemen@laposte.net>
écrivait dans fr.comp.lang.php:
Bonjour,
Est-il simple de modifier un PDF en PHP ?
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je
souhaiterais pouvoir modifier des champs d'un document PDF déjà crée
(sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer
les champs d'une base de donnée.
Attention, si tu crées d'avance un document pdf, tu auras les
dimensions fixes. Donc, tu devras décider d'avance si c'est du
A4 (Europe) ou du format légal (Amérique du Nord). Pour cette
raison, le mieux serait à mon avis de produire le pdf au complet
à la volée.
Le 18 Feb 2010 20:55:45 GMT, Olivier Masson écrivait dans fr.comp.lang.php:
Bonjour,
Est-il simple de modifier un PDF en PHP ?
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
Attention, si tu crées d'avance un document pdf, tu auras les dimensions fixes. Donc, tu devras décider d'avance si c'est du A4 (Europe) ou du format légal (Amérique du Nord). Pour cette raison, le mieux serait à mon avis de produire le pdf au complet à la volée.
Denis
Antoine Polatouche
Le 20/02/2010 15:17, Olivier Masson a écrit :
Le 20/02/2010 09:38, Antoine Polatouche a écrit :
Tu as essayé PDFLib ? ( http://www.pdflib.com et dans ton cas http://www.pdflib.com/en/products/pdflib-family/pdflib-pdi/ )
1590 euros, c'est quand même hors de prix !
Il y a une version gratuite qui te permet de prendre en main le produit, et de bons hébergeurs qui ont le produit payant sur leurs serveurs...
Le 20/02/2010 15:17, Olivier Masson a écrit :
Le 20/02/2010 09:38, Antoine Polatouche a écrit :
Tu as essayé PDFLib ?
( http://www.pdflib.com
et dans ton cas
http://www.pdflib.com/en/products/pdflib-family/pdflib-pdi/ )
1590 euros, c'est quand même hors de prix !
Il y a une version gratuite qui te permet de prendre en main le produit,
et de bons hébergeurs qui ont le produit payant sur leurs serveurs...
Tu as essayé PDFLib ? ( http://www.pdflib.com et dans ton cas http://www.pdflib.com/en/products/pdflib-family/pdflib-pdi/ )
1590 euros, c'est quand même hors de prix !
Alternative : certains hébergeurs mutualisés proposent PDFlib dans leurs offres.
C'est une piste à creuser quand le budget ne permet pas d'acheter la licence de pdflib :-)
-- Bruno Baguette
DublinFrench
Salut
Est-il simple de modifier un PDF en PHP ?
Dur. Le format est justement fait pour ne pas être réversible facilement.
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
Une de mes solutions favorite est DomPdf , qui est récemment passé en projet google. Je m'appuie sur un template XHTML/CSS qui est donc facilement updatable dynamiquement via des placeholder, puis je génère a la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ n'est pas un pdf et il faut valider le template HTML, puis s'assurer lors du developpement que la transformation est rigoureuse et que tout est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open Office, mais après avoir étudié le sujet une petite semaine en milieu d'année dernière, j'en suis arrivé a la conclusion que c'était encore un peu bidouille et non applicable sereinementnt en production, a ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
@++
Stef
Salut
Est-il simple de modifier un PDF en PHP ?
Dur. Le format est justement fait pour ne pas être réversible facilement.
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je
souhaiterais pouvoir modifier des champs d'un document PDF déjà crée
(sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer
les champs d'une base de donnée.
Une de mes solutions favorite est DomPdf , qui est récemment passé en
projet google. Je m'appuie sur un template XHTML/CSS qui est donc
facilement updatable dynamiquement via des placeholder, puis je génère a
la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf
n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui
est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ
n'est pas un pdf et il faut valider le template HTML, puis s'assurer
lors du developpement que la transformation est rigoureuse et que tout
est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus
rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open
Office, mais après avoir étudié le sujet une petite semaine en milieu
d'année dernière, j'en suis arrivé a la conclusion que c'était encore un
peu bidouille et non applicable sereinementnt en production, a
ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis
maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute
découverte ou idée permettant d'améliorer ce genre de travaux qui sont
très utiles pour pas mal d'entre nous.
Dur. Le format est justement fait pour ne pas être réversible facilement.
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
Une de mes solutions favorite est DomPdf , qui est récemment passé en projet google. Je m'appuie sur un template XHTML/CSS qui est donc facilement updatable dynamiquement via des placeholder, puis je génère a la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ n'est pas un pdf et il faut valider le template HTML, puis s'assurer lors du developpement que la transformation est rigoureuse et que tout est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open Office, mais après avoir étudié le sujet une petite semaine en milieu d'année dernière, j'en suis arrivé a la conclusion que c'était encore un peu bidouille et non applicable sereinementnt en production, a ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
@++
Stef
Olivier Masson
Le 22/02/2010 08:51, DublinFrench a écrit :
Une de mes solutions favorite est DomPdf , qui est récemment passé en projet google. Je m'appuie sur un template XHTML/CSS qui est donc facilement updatable dynamiquement via des placeholder, puis je génère a la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ n'est pas un pdf et il faut valider le template HTML, puis s'assurer lors du developpement que la transformation est rigoureuse et que tout est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open Office, mais après avoir étudié le sujet une petite semaine en milieu d'année dernière, j'en suis arrivé a la conclusion que c'était encore un peu bidouille et non applicable sereinementnt en production, a ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
@++
Stef
Merci pour ton avis. Je vais voir ça. Le problème avec la création à base d'HTML c'est que sur les projets que j'ai commencé à regarder, le support des CSS n'était pas terrible et il fallait apparemment mettre des styles à l'ancienne (attributs HTML de mise en forme, dépréciés dans les doctype valid). De plus, en amont le modèle PDF est réalisé par un graphiste (qui n'est pas moi). Je pourrais peut-être refaire facilement la maquette en HTML, mais avec les graphistes je me méfie toujours... Sinon, un simple passage maquettee Phototoshop/Illustrator -> HTML pourrait suffire. Mais il est évident qu'il serait beaucoup plus souple et propre de créer le PDF que de le modifier.
Le 22/02/2010 08:51, DublinFrench a écrit :
Une de mes solutions favorite est DomPdf , qui est récemment passé en
projet google. Je m'appuie sur un template XHTML/CSS qui est donc
facilement updatable dynamiquement via des placeholder, puis je génère a
la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf
n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui
est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ
n'est pas un pdf et il faut valider le template HTML, puis s'assurer
lors du developpement que la transformation est rigoureuse et que tout
est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus
rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open
Office, mais après avoir étudié le sujet une petite semaine en milieu
d'année dernière, j'en suis arrivé a la conclusion que c'était encore un
peu bidouille et non applicable sereinementnt en production, a
ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis
maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute
découverte ou idée permettant d'améliorer ce genre de travaux qui sont
très utiles pour pas mal d'entre nous.
@++
Stef
Merci pour ton avis.
Je vais voir ça. Le problème avec la création à base d'HTML c'est que
sur les projets que j'ai commencé à regarder, le support des CSS n'était
pas terrible et il fallait apparemment mettre des styles à l'ancienne
(attributs HTML de mise en forme, dépréciés dans les doctype
valid).
De plus, en amont le modèle PDF est réalisé par un graphiste (qui n'est
pas moi). Je pourrais peut-être refaire facilement la maquette en HTML,
mais avec les graphistes je me méfie toujours... Sinon, un simple
passage maquettee Phototoshop/Illustrator -> HTML pourrait suffire.
Mais il est évident qu'il serait beaucoup plus souple et propre de créer
le PDF que de le modifier.
Une de mes solutions favorite est DomPdf , qui est récemment passé en projet google. Je m'appuie sur un template XHTML/CSS qui est donc facilement updatable dynamiquement via des placeholder, puis je génère a la volée un pdf reprenant ce html contextuel. Avantage, le DomPdf n'exige pas la PDFLIB mais peut fonctionner avec la librairie CPDF , qui est d'ailleurs livrée avec.
Cette solution est relativement souple: certes, le document de départ n'est pas un pdf et il faut valider le template HTML, puis s'assurer lors du developpement que la transformation est rigoureuse et que tout est bien calé. Mais ensuite, ca marche très bien, et c'est beaucoup plus rapide a faire que de sculpter intégralement son PDF a l'ancienne.
J'ai aussi vu passer des solutions basées sur les librairies OO de Open Office, mais après avoir étudié le sujet une petite semaine en milieu d'année dernière, j'en suis arrivé a la conclusion que c'était encore un peu bidouille et non applicable sereinementnt en production, a ldifférencece de nos dev DomPdf qui donnent toute satisfaction depuis maintenant pas mal de temps.
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
@++
Stef
Merci pour ton avis. Je vais voir ça. Le problème avec la création à base d'HTML c'est que sur les projets que j'ai commencé à regarder, le support des CSS n'était pas terrible et il fallait apparemment mettre des styles à l'ancienne (attributs HTML de mise en forme, dépréciés dans les doctype valid). De plus, en amont le modèle PDF est réalisé par un graphiste (qui n'est pas moi). Je pourrais peut-être refaire facilement la maquette en HTML, mais avec les graphistes je me méfie toujours... Sinon, un simple passage maquettee Phototoshop/Illustrator -> HTML pourrait suffire. Mais il est évident qu'il serait beaucoup plus souple et propre de créer le PDF que de le modifier.
Olivier Masson
Le 22/02/2010 08:51, DublinFrench a écrit :
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
J'avais trouvé il y a peu un nouveau projet permettant d'éditer simplement des maquettes PDF en PHP. J'ai perdu trace de ce projet...
Le 22/02/2010 08:51, DublinFrench a écrit :
Bonne continuation, et surtout n'hésite pas a nous faire partager toute
découverte ou idée permettant d'améliorer ce genre de travaux qui sont
très utiles pour pas mal d'entre nous.
J'avais trouvé il y a peu un nouveau projet permettant d'éditer
simplement des maquettes PDF en PHP. J'ai perdu trace de ce projet...
Bonne continuation, et surtout n'hésite pas a nous faire partager toute découverte ou idée permettant d'améliorer ce genre de travaux qui sont très utiles pour pas mal d'entre nous.
J'avais trouvé il y a peu un nouveau projet permettant d'éditer simplement des maquettes PDF en PHP. J'ai perdu trace de ce projet...
Olivier Masson
Le 20/02/2010 22:05, Mickaël Wolff a écrit :
Olivier Masson a écrit :
1590 euros, c'est quand même hors de prix !
Ce n'est peut-etre pas dans tes moyens, mais taxer d'onéreux un outil qui demande un travail conséquent pour etre produit, je trouve que c'est grossier. Et insultant pour l'ensemble des développeurs au chomage (si, il y en a, ça arrive).
Ce n'est pas un produit qui doit se vendre beaucoup et répond à une besoin assez spécifique mais le travail réalisé pour faire cet outil est *considérablement* loin, par exemple, de celui nécessaire pour faire un produit tel que Lightwave (3D), tout aussi spécifique, pour un prix équivalent. Ça me rappelle les quelques progiciels (que l'on rencontre encore) qui, prétextant qu'ils sont très spécifiques - mais conçu à la va-vite et souvent très mal - coûtent une fortune. D'autre part, il y a une licence "workstation" pour Win mais pas pour Linux. C'est juste stupide (ou grossier :))
Le 20/02/2010 22:05, Mickaël Wolff a écrit :
Olivier Masson a écrit :
1590 euros, c'est quand même hors de prix !
Ce n'est peut-etre pas dans tes moyens, mais taxer d'onéreux un outil
qui demande un travail conséquent pour etre produit, je trouve que c'est
grossier. Et insultant pour l'ensemble des développeurs au chomage (si,
il y en a, ça arrive).
Ce n'est pas un produit qui doit se vendre beaucoup et répond à une
besoin assez spécifique mais le travail réalisé pour faire cet outil est
*considérablement* loin, par exemple, de celui nécessaire pour faire un
produit tel que Lightwave (3D), tout aussi spécifique, pour un prix
équivalent.
Ça me rappelle les quelques progiciels (que l'on rencontre encore) qui,
prétextant qu'ils sont très spécifiques - mais conçu à la va-vite et
souvent très mal - coûtent une fortune.
D'autre part, il y a une licence "workstation" pour Win mais pas pour
Linux. C'est juste stupide (ou grossier :))
Ce n'est peut-etre pas dans tes moyens, mais taxer d'onéreux un outil qui demande un travail conséquent pour etre produit, je trouve que c'est grossier. Et insultant pour l'ensemble des développeurs au chomage (si, il y en a, ça arrive).
Ce n'est pas un produit qui doit se vendre beaucoup et répond à une besoin assez spécifique mais le travail réalisé pour faire cet outil est *considérablement* loin, par exemple, de celui nécessaire pour faire un produit tel que Lightwave (3D), tout aussi spécifique, pour un prix équivalent. Ça me rappelle les quelques progiciels (que l'on rencontre encore) qui, prétextant qu'ils sont très spécifiques - mais conçu à la va-vite et souvent très mal - coûtent une fortune. D'autre part, il y a une licence "workstation" pour Win mais pas pour Linux. C'est juste stupide (ou grossier :))
Olivier Masson
Le 18/02/2010 21:55, Olivier Masson a écrit :
Bonjour,
Est-il simple de modifier un PDF en PHP ?
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
J'ai trouvé pas mal de ressources sur le net mais toutes ne s'accordent pas sur la facilité de cette tâche.
Avez-vous des conseils ou de bonnes doc à me suggérer ?
Merci.
J'ai opté pour la solution fpdf+fpdi. Tout a fonctionné parfaitement. C'était du pdf multipages en cmyk que l'on m'a fourni en pdf 1.3 pour pouvoir l'utiliser dans fpdi. J'avais juste un décalage constant avec les coordonnées fournies par le logiciel du graphiste ; j'ai donc crée une fonction supplémentaire pour spécifier un décalage à n'importe quel moment. Ça ne fonctionne qu'en iso-8859-1 par contre.
Par la suite, j'ai achéte le fdpi:pdf parser, qui permet de lire les pdf jusqu'en version 1.7, histoire de soutenir le projet.
A noter qu'ils développent aussi SetaPDF-FormFiller API, qui est parfait pour remplir les formulaires PDF puisqu'il suffit de lui indiquer les champs. Mais : - le graphiste n'avait jamais fait de pdf form et n'avais pas conçu son pdf ainsi. Cela se fait aisément avec OpenOffice et l'export pdf avec formulaire (j'ai essayé) mais le graphiste m'a dit que ce n'était pas fiable pour l'impression et pas du tout pratique pour la création, comparé à Quarks Xpress qui est fait pour ça. Moi je n'en sais rien. - Si le pdf parser est dispo sans /obfuscation/, le formfiller n'est lui dispo qu'en ioncube et zend encode. Ce qui n'est pas forcément pour plaire au client (il faut installer le module de déchiffrement et il installer du code dont il ne sait rien).
Merci à tous pour vos informations.
Le 18/02/2010 21:55, Olivier Masson a écrit :
Bonjour,
Est-il simple de modifier un PDF en PHP ?
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je
souhaiterais pouvoir modifier des champs d'un document PDF déjà crée
(sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer
les champs d'une base de donnée.
J'ai trouvé pas mal de ressources sur le net mais toutes ne s'accordent
pas sur la facilité de cette tâche.
Avez-vous des conseils ou de bonnes doc à me suggérer ?
Merci.
J'ai opté pour la solution fpdf+fpdi.
Tout a fonctionné parfaitement.
C'était du pdf multipages en cmyk que l'on m'a fourni en pdf 1.3 pour
pouvoir l'utiliser dans fpdi.
J'avais juste un décalage constant avec les coordonnées fournies par le
logiciel du graphiste ; j'ai donc crée une fonction supplémentaire pour
spécifier un décalage à n'importe quel moment.
Ça ne fonctionne qu'en iso-8859-1 par contre.
Par la suite, j'ai achéte le fdpi:pdf parser, qui permet de lire les pdf
jusqu'en version 1.7, histoire de soutenir le projet.
A noter qu'ils développent aussi SetaPDF-FormFiller API, qui est parfait
pour remplir les formulaires PDF puisqu'il suffit de lui indiquer les
champs. Mais :
- le graphiste n'avait jamais fait de pdf form et n'avais pas conçu son
pdf ainsi. Cela se fait aisément avec OpenOffice et l'export pdf avec
formulaire (j'ai essayé) mais le graphiste m'a dit que ce n'était pas
fiable pour l'impression et pas du tout pratique pour la création,
comparé à Quarks Xpress qui est fait pour ça. Moi je n'en sais rien.
- Si le pdf parser est dispo sans /obfuscation/, le formfiller n'est lui
dispo qu'en ioncube et zend encode. Ce qui n'est pas forcément pour
plaire au client (il faut installer le module de déchiffrement et il
installer du code dont il ne sait rien).
HTML et impression n'étant pas terriblement fait l'un pour l'autre, je souhaiterais pouvoir modifier des champs d'un document PDF déjà crée (sous Acrobat ou autre) : une lettre type dans laquelle je vais insérer les champs d'une base de donnée.
J'ai trouvé pas mal de ressources sur le net mais toutes ne s'accordent pas sur la facilité de cette tâche.
Avez-vous des conseils ou de bonnes doc à me suggérer ?
Merci.
J'ai opté pour la solution fpdf+fpdi. Tout a fonctionné parfaitement. C'était du pdf multipages en cmyk que l'on m'a fourni en pdf 1.3 pour pouvoir l'utiliser dans fpdi. J'avais juste un décalage constant avec les coordonnées fournies par le logiciel du graphiste ; j'ai donc crée une fonction supplémentaire pour spécifier un décalage à n'importe quel moment. Ça ne fonctionne qu'en iso-8859-1 par contre.
Par la suite, j'ai achéte le fdpi:pdf parser, qui permet de lire les pdf jusqu'en version 1.7, histoire de soutenir le projet.
A noter qu'ils développent aussi SetaPDF-FormFiller API, qui est parfait pour remplir les formulaires PDF puisqu'il suffit de lui indiquer les champs. Mais : - le graphiste n'avait jamais fait de pdf form et n'avais pas conçu son pdf ainsi. Cela se fait aisément avec OpenOffice et l'export pdf avec formulaire (j'ai essayé) mais le graphiste m'a dit que ce n'était pas fiable pour l'impression et pas du tout pratique pour la création, comparé à Quarks Xpress qui est fait pour ça. Moi je n'en sais rien. - Si le pdf parser est dispo sans /obfuscation/, le formfiller n'est lui dispo qu'en ioncube et zend encode. Ce qui n'est pas forcément pour plaire au client (il faut installer le module de déchiffrement et il installer du code dont il ne sait rien).