Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

edition de pdf

18 réponses
Avatar
Olivier Masson
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.

8 réponses

1 2
Avatar
Denis Beauregard
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
Avatar
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...
Avatar
Bruno Baguette
Le 20/02/10 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 !



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
Avatar
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
Avatar
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.
Avatar
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...
Avatar
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 :))
Avatar
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.
1 2