[Question] Génération de PDF formulaire rempli

Petit nouveau ! | 6 Messages

25 mars 2014, 17:10

Bonjour,

J'ai un site avec un formulaire d'inscription à un club sportif. Lorsque l'utilisateur valide le formulaire, je génère un enregistrement dans la base, j'envoie un email, ...

Je veux en profiter pour remplir le formulaire de licence à la fédération. Il s'agit d'un fichier PDF avec des champs vierges à remplir (nom, prénom, adresse, ...). Je voudrais qu'à la validation du formulaire, les données du formulaire soient inscrites dans les champs du formulaire (ils sont nommés) et que cela génère un PDF rempli.

Je précise de suite : l'hébergement du site est sur du mutualisé OVH. je n'ai donc pas accès à PDFLib, ni à du java, ni à du VB, ... J'ai vu qu'il y avait des fonctions dans Zend Framework v 1.12, mais rien que la lecture du pdf provoque des erreurs.

Est-ce que quelqu'un connaît une solution pure-php pour
1) lire le formulaire pdf
2) lire les champs dans le pdf
3) remplir les champs avec mes données
4) générer un pdf rempli

Merci d'avance

Eléphant du PHP | 453 Messages

25 mars 2014, 18:31

Salut,

fpdf.org

<<<EDIT
En fait dans ce message, je te parle de fpdf. Or c'est peut être pas la bonne solution. Dans ton message, tu parles de champ. Ca veut dire qu'il y a un formulaire à l'intérieur que tu peux soumettre à un serveur ?
Pourquoi ne pas soumettre les infos directement sur le serveur ? Il doit bien y avoir un service pour ça.
EDIT;
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Petit nouveau ! | 6 Messages

25 mars 2014, 20:27

fpdf c'est pour la génération d'un fichier pdf entièrement programmé.

Là, j'ai un fichier PDF qui existe avec un fond, avec du texte, ...
Par exemple, si tu prends https://www.formulaires.modernisation.g ... a_14880.do (ce n'est pas mon formulaire, c'est juste un exemple)

Tu peux taper du texte dans certaines zones que tu peux remplir à la main

Eh bien, je veux poser ce genre de formulaire sur mon serveur et aller mettre de l'information dans les zones par un programme PHP au lieu de les taper à la main.

Eléphant du PHP | 453 Messages

25 mars 2014, 20:58

Justement tu devrais montrer ton formulaire (pdf) afin que l'on puisse t'aider. J'ai ma petite idée pour résoudre ton soucis. Je ne suis pas du tout une brute avec fpdf, mais ça devrait fonctionner.

Je te donne déjà ma petite idée. Mais avant de mettre les mains dans le cambouis, il faudrait voir ton formulaire. C'est peut être chronophage. Par contre, une chose est sûr, le pdf ne sera plus du tout accessible (google : pdf accessible).

Chaque page de ton formulaire, tu vas en faire une image. Ce sera ton patron. Ensuite tu importes ton image dans une nouvelle page et tu écris dessus ;)
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Mammouth du PHP | 2278 Messages

26 mars 2014, 09:18

pdftohtml convertit en ligne de commande.
IlOn pourrait reprendre le résultat à léditeur de texte, en faire un txt ajouter des champs par1, par2, par3 et les remplir avec str_replace de php
Utopique ???
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Petit nouveau ! | 6 Messages

26 mars 2014, 11:21

@niuxe

La conversion en image est effectivement une solution. Un peu lourde car il va falloir caler chaque ligne et trouver la bonne taille de police pour inscrire les lettres dans les cases.

@sirakawa
La question n'est pas de convertir du PDF en HTML. Mais de remplir du PDF à partir d'un formulaire HTML.

Etat d'avancement :
Il y a effectivement dans FPDF une bibliothèque supplémentaire FPDM de 2010 permettant de remplir des formulaires PDF.
Mais
1) Mon formulaire initial est considéré comme vide par la bibliothèque. Pas grave car en utilisant le logiciel Windows PDFtk Free, ça me crée une copie du PDF utilisable par FPDM.
2) En travaillant sur la copie créée par PDFtk, il y a un problème dans une table des références croisées du fichier PDF avec la liste des objets dans ce même fichier : une différence de 2. Et là, j'ai ma petite idée. Quand la fédération nous transmet le PDF, il y a justement 2 champs (le n° du club et le nom du club) qui sont préremplis. Est-ce que leur programme à eux (en VB) fait des choses pas claires, c'est probable.

Bon, je vais arrêter là et regarder la solution de niuxe.

Mammouth du PHP | 2278 Messages

26 mars 2014, 13:09

@sirakawa
La question n'est pas de convertir du PDF en HTML. Mais de remplir du PDF à partir d'un formulaire HTML.
Je sais; mais dans la mesure où on n'a pas de solution simple e(t gratuite, car des solutions payantes il y en a légion, une piste est de convertir en html : ce qui produit un fichier texte, qu'on peut manipuler à son gré. Il permet de générer un xml
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD