Ce tutoriel vous permettra de comprendre et de bien utiliser l’extension Send PDF for Contact Form 7 en lien avec l’extension de formulaire Contact Form 7.
L’extension Send PDF for Contact Form 7 va vous permettre de récupérer les données postées via votre formulaire pour les insérer dans un PDF construit et préparé par vos soins.
Nous allons découvrir ensemble cette extension en 3 étapes :
1 – Le choix du formulaire
2 – Les paramètres généraux
2 – La mise en page de votre PDF
Avant de commencer à vous expliquer les options de cette extension, j’imagine que vous avez déjà créé votre formulaire avec Contact Form 7, et là je ne vais pas vous expliquer comment 🙂
N’oubliez pas de remplir l’option « Email (2) » de votre formulaire Contact Form 7. En effet, l’envoi du PDF et du CSV pour l’option « destinataire » va se faire sur l’e-mail entré sur « Utiliser E-mail (2) ».
Le choix du formulaire
Pour cette partie, c’est simple. Vous avez la liste de vos formulaires déjà créés, il vous suffit de choisir celui que vous souhaitez utiliser pour générer un PDF.
Les paramètres généraux
Nous avons choisis notre formulaire, nous allons maintenant définir quelques options :
- Désactiver la génération d’un fichier PDF : à tout moment je peux arrêter la génération d’un PDF pour ce formulaire, cochez « Non ».
- A qui envoyer le PDF ? Le PDF généré peut être envoyé à l’expéditeur, au destinataire ou bien au deux.
- Désactiver l’insertion dans une base de données ? : les données postées sont enregistrées dans une table. Vous pourrez ensuite récupérer les données dans un fichier csv (on verra cela plus bas).
- Vider la table ? Vous pouvez vider toutes les données insérées dans la table en cochant la case et en enregistrant les modifications.
- Désactiver la génération d’un fichier CSV ? A chaque envoi du formulaire, un fichier csv peut être aussi généré et envoyé en pièces jointes ( 1 fichier / envoi )
- A qui envoyer le CSV ? Le CSV généré peut être envoyé à l’expéditeur, au destinataire ou bien au deux.
- Entrer un nom pour les PDF générés : le nom que portera votre PDF en pièces jointes. Chaque PDF généré dans votre dossier /uploads/ se nommera ainsi : nom-du-pdf.pdf
(en réalité le nom sera nom-du-pdf-56cc7d7167724.pdf Le numéro, appelé plus bas [reference], est généré en php par la fonction uniqid(), une fois le PDF créé, il est copié et renommé en nom-du-pdf.pdf) - Compléter le nom de votre PDF avec les balises de votre formulaire : vous pouvez personnaliser le nom de votre PDF avec les balises de votre formulaire, par exemple [nom]-[prenom] ce qui générera le nom de votre PDF comme ceci : mon-document-john-doe.pdf
—> Important : si vous utilisez des balises du formulaire, n’utilisez pas la redirection direct après envoi du formulaire, cela ne fonctionnera pas. Utilisez plutôt la redirection vers une page.
Vous pouvez utiliser aussi les balises [reference] et [date], le format de la date sera à définir. - Changer le dossier de téléchargement ? Par défaut, le nom du dossier de téléchargement est /wp-content/uploads/*ANNEE*/*MOIS*/, avec cette option, tous les fichiers PDF, CSV et images seront déposés vers /wp-content/uploads/sendpdfcf7_uploads/
- Supprimer tous les fichiers dans le dossier de téléchargement ? Cocher cette case si vous souhaitez vider le dossier /sendpdfcf7_uploads/
- Supprimer chaque fichier PDF après l’envoi de l’e-mail ? Une fois l’e-mail envoyé, cochez cette case si vous ne voulez pas conserver les fichiers.
- Autres fichiers à joindre ? Vous pouvez en plus de votre PDF envoyer d’autres pièces jointes. Il suffit de rentrer dans le champs les URL vers celle-ci. Une pièce par ligne.
- A qui envoyer les autres pièces jointes ? Les autres pièces jointes peuvent être envoyées à l’expéditeur, au destinataire ou bien au deux.
- Sélection d’une page à afficher après l’envoi du formulaire : après soumission du formulaire, vous pouvez rediriger les visiteurs vers une autre page (par exemple une page de remerciement).
- Envoyer l’e-mail sans pièces attachées ? Vous avez la possibilité de ne pas envoyer les pièces jointes par e-mail mais plutôt de proposer un téléchargement après redirection (option ci-dessus) ou de juste de générer les PDF.
- Utiliser un lien dans la page de redirection pour télécharger le PDF ? Vous pouvez afficher un lien de téléchargement du PDF sur la page de redirection (option nécessaire à renseigner), cette option nécessite l’insertion des données en base de données (option à activer)
- Entrer le texte pour le lien : Mettez un texte pour le code court [wpcf7pdf_download] à placer sur votre page de redirection. Plusieurs options sont disponibles pour le code court :
– ‘class’ : vous pouvez définir une class CSS (par défaut : ‘btn btn-large btn-primary’)
– ‘target’ : choisissez votre sortie du lien (par défaut : ‘_blank’)
– ‘type’ : choisissez le type ‘button’ ou ‘text’ (par défaut : ‘button’)
– ‘dashicons’ : utilisez un icone pour agrémenter votre texte (par défaut : ‘dashicons-download’). Mettez ‘none’, si vous n’en voulez pas (voir ce lien pour les icones).
– ‘text’ : entrez le texte à afficher pour télécharger votre PDF (par défaut ‘Télécharger votre PDF’)
Exemple : [wpcf7pdf_download dashicons= »dashicons-admin-tools » text= »Voici votre PDF »] - Rediriger directement vers le PDF après l’envoi du formulaire ? : vous pouvez définir l’action après l’envoi du formulaire, l’ouvrir ou non et dans la même fenêtre ou dans une autre. Cette option désactive la page de redirection sélectionnée.
- Sélectionnez un format de date et heure : vous pouvez insérer un code court [date] et [time] dans votre e-mail ou dans le corps du fichier PDF avec le format que vous souhaitez.
- Désactiver les retours à la ligne automatique : Cela désactive le remplacement de saut de ligne automatique (n et r)
- Désactiver le formulaire d’autocomplétions : Cela désactive la saisie automatique des champs
- Activer l’affichage des données avec la case à cocher ou les boutons radio de votre fichier PDF : possibilité d’afficher sur votre PDF les cases à cocher ou radio.
- Activer les formulaires PDF à remplir (Ne fonctionne pas si votre PDF est protégé) : tous les champs seront apparents
- Protéger votre PDF : Protégez l’ouverture de votre PDF via un mot de passe soit généré à la volée, soit un mode de passe unique pour tous les PDF. Utilisez la balise [pdf-password] dans vos emails pour communiquer ce mot de passe.
La mise en page de votre PDF
C’est la partie la plus complexe. Il faut maintenant créer la présentation de votre PDF. L’extension Send PDF for Contact Form 7 utilise la librairie mPDF, on peut donc insérer du HTML pour créer notre document.
- Image d’entête : vous pouvez insérer une image pour votre entête du document PDF. Vous pouvez choisir le centrage (gauche, centre, droite) et corriger sa taille.
- Image d’arrière plan : vous pouvez mettre en ligne une image pour l’arrière plan de votre PDF avec un choix pour une seule ou toutes les pages.
- CSS personnalisé : entrez du code CSS pour personnaliser encore plus votre PDF.
- Taille de page & orientation : choisissez le format et l’orientation de votre PDF.
- Ajouter un fichier CSS : personnalisez votre PDF avec un fichier CSS (un exemple est fourni).
- Marges globales du PDF : personnalisez vos marges pour le PDF
- Choix du séparateur pour les cases à cocher ou les boutons radio : ajouter un sépateur avant ou après vos checkbox/Boutons radio.
- Pour personnaliser votre PDF, utilisez ces balises :
- [addpage] est une simple balise pour forcer un saut de page n’importe où dans votre PDF.
- Utilisez la balise [date] pour écrire la date où vous voulez dans votre PDF.
- [reference] est une simple balise qui est utilisé pour créer des PDF uniques.
- [ID] est une balise pour récupérer l’ID de la base de données si vous avez autorisé l’enregistrement dans les options.
La génération du PDF passe par la fonction de WordPress wpautop(), ce qui signifie qu’il change les doubles sauts de ligne dans le texte en paragraphes HTML ( <p> … </ p> )
Vous pouvez utiliser les tags issus de votre formulaire. Si vous avez choisis une image d’entête, elle sera automatiquement mise dans votre document. Par défaut, l’extension vous propose les champs et tags simples comme ceux d’une première création de formulaire.
Si vous utilisez des balises [file] et qu’elles sont destinées à afficher les images téléversées par les utilisateurs, entrez-les dans le champs dédié. Elles seront replacées par l’URL des images dans votre PDF. Il suffit ensuite d’utiliser la balise HTML :
<img src="[url-file]" width="300" />
pour afficher l’image et non l’URL.
Voici un exemple de test. Dans le champ « Les balises [file] sont pour des images ? »
[file-photo]
Puis dans la construction de votre PDF :
<img src="[url-file-photo]" width="300" />
Vous souhaitez aussi afficher l’image dans l’e-mail envoyé ? Veillez à ce que la case « Supprimer tous les fichiers dans le dossier de téléchargement ? » ne soit pas cochée, et changez votre balise, uniquement dans la partie e-mail de CF7, comme ceci : [file] par [url-file]
N’oubliez pas, si vous utilisez des dates elle sont retournées en format US, pour les retourner en FR utilisez le tags : [_format_VOTRE-TAG-DE-DATE « d/m/Y »] au lieu de [VOTRE-TAG-DE-DATE].
Lors de votre premier enregistrement des paramètres, un aperçu est généré, vous pouvez visualiser l’aspect général en cliquant sur le bouton « Prévisualiser votre PDF« .
A noter que vous pouvez dans les e-mails d’envoi (à l’expéditeur ou au destinataire) utiliser les tags [reference] pour afficher la référence, [date] pour afficher la date du jour et [url-pdf] pour afficher le lien vers le PDF (ce lien sera complet ex: nom-du-pdf-56cc7d7167724.pdf).
L’extension Send PDF for Contact Form 7 est compatible avec Contact Form 7 Signature Addon. Ajoutez la balise [signature] dans le champ « Les balises [file] sont pour des images ? » puis dans la construction du PDF :
[signature]
L’extension Send PDF for Contact Form 7 est compatible avec Conditional Fields for Contact Form 7 et sa version PRO. Ajoutez les mêmes balises préparées dans vos e-mails que dans la construction du PDF. Par exemple :
<table>
<tr><td>Type de support</td><td>[support-type]</td></tr>
[technical-support-selected]
<tr><td>operating-system</td><td>[operating-system]</td></tr>
[os-selected]
<tr><td>version</td><td>[version]</td></tr>
[/os-selected]
[os-other-selected]
<tr><td>other-os</td><td>[other-os]</td></tr>
<tr><td>other-version</td><td>[other-version]</td></tr>
[/os-other-selected]
[/technical-support-selected]
[sales-support-selected]
<tr><td>continent</td><td>[continent]</td></tr>
[/sales-support-selected]
</table>
Voilà vous savez tout et je pense que vous maîtrisez maintenant cette extension. J’espère qu’il correspondra à vos attentes.
Vous pouvez télécharger l’extension Send PDF for Contact Form 7 ici.
Note : Vous avez trouvé un bug ? Vous avez une idée d’amélioration ? Faîtes le moi savoir sur cette page.
Bonjour,
Tout d’abord merci pour ce plugin vraiment simple et qui fonctionne parfaitement.
J’ai cependant un petit soucis, dans un formulaire sur contact form 7 j’ai un select qui permet de choisir l’envoi de l’email de ce type :
[select* nom_champ include_blank « CHOIX_1|mail1@domaine.fr « CHOIX_2|mail2@domaine.fr »
Ca fonctionne parfaitement pour l’envoi, cependant dans le PDF généré quand je mets le tag : « [nom_champ] au lieu d’afficher CHOIX_1 ou CHOIX_2 il mets mail1@domaine.fr ou mail2@domaine.fr.
Auriez-vous une solution sans faire deux select quasi identique ?
En vous remerciant par avance.
M
Bonjour,
Dans le PDF l’extension retourne la valeur du champ. Je vais tester de mon côté.
Cordialement
Question…
I wish to create my own plugin to have my own code (html) for PDF output – is this opensource software for me to use for my own plugin?
Hello Florent,
Thank you for the great plugin, I love it.
I have a question, in addition to the generated PDF, there are other attachments in the form that I should receive as attachments in the email but they’re not being sent. The only attachment I receive is the generated PDF, and not any other attachments in the form.
Kindly assist solve this issue.
Hi!
I think it comes from the URL in HTTPS.. I will look this.
Thanks
Hello, I’ve managed to resolve this. Thank you.
Bonjour,
Je repars sur un autre fil car ma question est différentes.
j’aimerais faire apparaître les données recueillie dans un tableau;pas de soucis. J’aimerais en plus qu’une ligne disparaisse si le champs de la première colonne est vide ( null). Croyez-vous que cela soit possible ?
Y-aurait-il une astuce dans le langage css pour cela ?
j’ai tenté avec ceci : width: max-content; mais sans résultat ?
bonjour,
merci pour votre retour rapide.
Je rencontre deux problème néanmoins, je suis bien en vers 0.91
les erreurs étaient :
Fatal error: Cannot redeclare _cf7_sendpdf_load() (previously declared in /customers/5/a/2/monsite.moi/httpd.www/site/wp-content/plugins/send-pdf-for-contact-form-7/wpcf7-send-pdf.php:46) in /customers/5/a/2/monsite.moi/httpd.www/site/wp-content/plugins/send-pdf-for-contact-form-7-master/wpcf7-send-pdf.php on line 45
Warning: set_time_limit(): Cannot set max execution time limit due to system policy in /customers/5/a/2/monsite.moi/httpd.www/site/wp-admin/includes/class-wp-upgrader.php on line 471
Vous avez bien remplacé tous les fichiers par ceux de GitHub (donc de la version 0.9.1) ?
Via FTP, déposez tous les fichiers en remplacement de l’extension actuelle installé. Je pense que vous avez installé 2 versions de mon extension.
Cordialement
j’ai nettoyé le doublon; cela semble fonctionner. les semblent fonctionnels
par contre, il est impossible de changer le répertoire de stockage des pdf et aussi, j’ai deux pdf qui se créent en même temps, l’un avec, en plus du nom que j’ai choisi, une référence.
Est-ce normal ?
merci
Pour changer de répertoire des PDF vous avez activé la fonctionnalité ?
Oui, dans le dossier, il y l’original avec le nom (qui sera écrasé à chaque envoi du formulaire) et un autre avec la référence pour retrouver le PDF.
Cordialement
J’ai bien activé l’option » oui » mais je ne vois pas l’endroit où je peux indiquer le chemin.
Au sujet des pdf, il me semble que les 2 pdf créés restent bien dans le répertoire.
Bonjour,
Le chemin n’est pas déterminable. En cochant ‘oui’, l’extension utilisera ce chemin : /wp-content/uploads/sendpdfcf7_uploads/
Cordialement
Bonjour,
Tout d’abord bravo pour ce plugin fort bien utile.
J’aurais voulu savoir si il y a une technique particulière pour faire apparaître le résultat d’ un champ du type checkbox avec multichoix en une liste (les différentes propositions cochées apparaîtraient l’une en dessous de l’autre et nom à la suite comme pour l’instant.
J’ai tenté une div, mais cela ne marche pas… auriez-vous une idée ?
Merci
Bonjour,
Pouvez-vous essayer la dernière version déposée sur GitHub : https://github.com/Florent73/send-pdf-for-contact-form-7
J’ai ajouté une option pour déterminer le séparateur avant et après les checkbox et boutons radio
Merci de me faire un retour et je la diffuserais sur les dépôts WordPress.
Bonjour Florent,
Merci pour ce super plugin et très pratique.
Est il possible de placer 2 champs cote à cote ?
Cordialement
Bonjour,
Dans la mise en page du PDF ? bien sûr ! Avec un tableau HTML.
Cordialement
Bonjour,
Suite à la maj de votre plugin très pratique 😉
Il ne fonctionne plus 🙁
Voici le message d’erreur : « Your TMP folder is bad. Fix It! »
Mon dossier d’upload du mois courant a été vider de son contenu (pas cool)
PS : J’avais bien activé l’option d’utiliser le dossier « sendpdfcf7_uploads »
Autre question:
Auriez-vous noté une incompatibilité avec le plugin « Material Design for Contact Form 7 » ?
Merci !
Cordialement
Bonjour,
Apparemment, l’envoi subversion à mal fonctionné pour la dernière version.
Pouvez-vous télécharger de nouveau le ZIP de l’extension et remplacer via FTP vos fichiers ?
Je vais le tester aussi avec Material Design pour voir ce qu’il se passe.
Cordialement
Bonjour et merci pour le super plugin. Je suis désolé pour mon pauvre français.
J’utilise la version 0.8.8 et le mot de passe sur PDF semble ne plus fonctionner.
Bonjour,
La nouvelle version sur GitHub corrige ce bug : https://github.com/Florent73/send-pdf-for-contact-form-7
Cordialement
Bonjour.
Super plugin.
Ma question : quand je fais ma trame du pdf, est-il possible d’insérer du code (php ?) pour travailler sur les variables de contact form7 ?
Je m’explique : suivant les valeurs de form 7, j’aimerai qu’il y tel ou tel affichage, du style
if ([valeur contact form] = 0) {echo « texte1 »};else {echo « texte2 »}
Bonjour,
Désolé mais non, cela ne prend pas en charge le code PHP.
Cordialement
after update to V.0.8.6 not sending pdfs in mail what we can do?
Hi!
Thanks to download V.0.8.7 on GitHub and tell me : https://github.com/Florent73/send-pdf-for-contact-form-7
Bonjour,
Est-il possible de générer un pdf avec un Qr Code contenant les informations collectés à partir du formulaire ?
Merci.
The best plugin to create pdf, but I don’t have polish symbols in title of my pdf. Can help?
Comment faire apparaître l’image téléchargée dans le fichier PDF généré ?
Buenos días
Tengo una consulta sobre el plugin send-pdf-for-contact-form-7, ya que lo seguí tal cual los pasos para generar el pdf, pero al visualizar el pdf no me salen las imágenes que adjunte al formulario, quisiera saber si hay alguna solución o me falta algún plugin adicional.
Agradezco su atención prestada y quedo atenta de alguna sugerencia.
Bonjour
Tout d’abord félicitation pour ce plugin très utile et convivial.
Savez vous s’il fonctionne avec Contact Forms 7 Digital Signature Add-On qui semble être le remplaçant de Contact Form 7 Signature Addon qui n’est plus mis à jour ?
Bonjour,
Je vais voir cela.
Cordialement
Bonjour
Bravo pour ce plugin vraiment utile.
J’ai un petit souci avec les fichiers PDF et CSV envoyés sur le serveur. Après une soumission de formulaire et validation, quand je vais dans le dossier de téléchargement, les 2 fichiers sont à chaque fois doublés. Cela donne :
– NomduFichier-numeroReference.pdf
– NomduFichier-numeroReference.csv
– NomduFichier-numeroReference-numeroReference.pdf
– NomduFichier-numeroReference-numeroReference.csv
Est-ce normal ? Y-a t-il moyen de remédier à cela ?
Pascal
Je viens de tester la modification du format de la date dans le PDF, celle-ci n’est pas prise en compte.
Ex :
[_format_Date-naissance « d/m/Y »]
Bonjour M. Maillefaud,
Je vous contacte car après la dernière mise à jour réalisée, l’image téléchargée par l’utilisateur n’est pas recopié dans le pdf.
Ça fonctionnait très bien il a qq mois quand j’ai développé le site. Peut-être un souci avec COOKIE et SESSION.. je ne sais pas. Pourriez-vous regarder, svp ? Merci beaucoup pour votre aide.
Dans CF7 :
[file* signature filetypes:png|jpg|jpeg limit:1mb]
Dans Send PDF for Contact Form 7 – Réglages
A l’endroit « Il sera nécessaire ensuite de les mettre dans la balise HTML image pour la mise en page du PDF. »
[signature]
Dans la zone d’affichage :
Cdt,
Bogdan RADOI
Bonjour,
La nouvelle version corrige cela. En effet, je crois que Contact Form 7 a changé la façon de traiter les uploads…
Cordialement
Bonjour Florent
Bravo pour ce plugin très utile.
Dans ce nouveau cas qui se présente, j’ai un formulaire qui commence par un groupe de bouton [Axe], avec Axe1, Axe2, Axe3, etc.
Est-il possible d’envoyer les pdf et csv sur le serveur vers des sous-dossiers différents selon le choix : Axe1 ou Axe2 ou Axe3, etc.
Merci d’avance
Bonjour,
Ce n’est actuellement pas possible.
Cordialement
Bonsoir,
j’ai remarqué aussi, qu’on ne pouvait pas utiliser les colonnes ! on peut les utiliser seulement pour limiter la taille d’une colonne, mais on ne peut pas afficher 2 colonnes sur une seule ligne (par exemple nom et prénom)
c’est vraiment dommage car j’ai un formulaire qui prend vraiment toute la page A4, et sans la possibilité d’afficher des informations sur la même ligne, je dépasser la limite de la page 🙁
pas de réponse? je suis vraiment bloqué, et j’ai commencé à cherché d’autre plugin (ce n’est pas gagné)
Bonjour,
Vous pouvez insérer un tableau HTML pour créer vos colonnes et du CSS pour l’affichage.
Exemple :
< table style="border: 2px solid #333;width:100%" >
< tr>< td >Votre nom td >< td >Votre email td> tr >
< tr>< td >[your-name] td >< td >[your-email] td > tr >
table >
Merci beaucoup, ça marche 🙂
par contre si vous pouviez me répondre sur l’autre question concernant l’affichage des caractère en arabe 🙂
Bonjour, merci beaucoup pour ce plugin 🙂
Cela dit, il n’affiche malheureusement pas correctement les mots en « arabe » il sépare les lettre (comme pour les français par exemple) … je ne sais pas s’il y a une solution à ça?
Hello,
i love your plugin.
Is there a way to display a table with borders?
When i put html table in the field in the options, the content appears in a table without borders.
Please help me.
Michael
Hi!
can you try this :
< table style= »border:3px solid #333;width:100% » >
< tr >< td style= »background-color: yellow »>TEST< /td >< /tr >
< /table >
Thanks
Is there a way to add a table into the pdf?
i have put html code into the field, the table are there but has no border.
Bonjour,
Comment (même en codant) pourrait-on activer ou désactiver la génération du formulaire (et de son envoi) uniquement si l’utilisateur le demande via un champ du formulaire ?
Par exemple j’ai 3 options radio :
– Option 1
– Option 2
– Option 3
S’il coche Option 1, pas de génération PDF, pas ‘appel au module en somme.
S’il coche Option 2, Génération d’un formulaire
S’il coche Option 3, génération d’un autre formulaire.
Comment pourrions nous mettre ça en place ?
Merci.
Bonjour,
Si j’ai bien compris, je peux ajouter un code pour detecter :
– si il y a une case de cochée précise pour ne pas recevoir un PDF
– Si elle n’est pas cochée, cela se passe normalement
Pour l’option 3, il faudrait alors ajouter une ou plusieurs configurations de formulaires « Personnaliser votre formulaire ».
C’est bien cela ?
Thank you for your amazing plugin!
Is it possible to add fonts? I tried importing them, but to no effect.
@import url(‘https://fonts.googleapis.com/css2?family=Ubuntu&display=swap’);
Thank you for your support!
Hi!
I adding Ubuntu Font on GitHub : https://github.com/Florent73/send-pdf-for-contact-form-7
Thanks
Bonjour,
j’utilise ce magnifique plugin.
Je n’ai qu’un seul problème.
Dans le formulaire de contact j’ai mis une sélection radio et elle n’est exportée ni dans le pdf ni dans le csv. Voici le code que j’insère
[radio your-solution label_first default: 1 « a » « b » « c » « d »]
Qu’est-ce que je fais mal? Merci pour le soutien
Hola cuando agrego la URL corta [wpcf7pdf_download] No aparece ningún botón para descargar. Qué puedo hacer?
Bonsoir,
Je viens de tester sur le serveur de prod, tout fonctionne parfaitement, je ne comprends pas car sur mon serveur de dev le logo ne remonte .
Merci tout de même, je pense qu’il s’agit d’un paramétrage manquant sur mon serveur de dev.
Bonne journée.
Bien cordialement.
Marylène
Juste pour compléter l’info l’image se positionne correctement dans la section « image d’entête.