, ,

Tutoriel WordPress : l’extension Send PDF for Contact Form 7

Send PDF for CF7

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.

Choix du formulaire de CF7

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
    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  à 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 : 
  • 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)
  • 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.

Visuel Send PDF for CF7 0.5.9

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.

  • Entrer une URL ou mettre en ligne une image : 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.
  • Taille de page & orientation : choisissez le format et l’orientation de votre PDF
  • 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.

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 un 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 :

pour afficher l’image et non l’URL.

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 « Visualiser votre PDF« .

En bas de page, si vous avez opter pour l’option « insertion dans une base de données« , vous pouvez récupérer toutes les données envoyés via votre formulaire dans un fichier csv.

Toujours en bas et à droite, vous pouvez aussi vider la table des données en cliquant sur le lien : Vider la table des données ? 

Visuel Send PDF for CF7 0.5.9

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).

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.

 

 

63 réponses
  1. Rodrigo
    Rodrigo dit :

    primero que nada gracias por el aporte,
    para mi punto de vista es un gran plugin, me imagino que tendra más opciones para diseñar el template del pdf.

    quisiera saber si hay una version PRO o Templates para el documento .pdf

    Saludos Cordiales

    Répondre
  2. Jayme
    Jayme dit :

    Very awesome plug-in it is working great for my client!
    I do have one question and is there a way to configure the options so it sends to the sender as well? I have it set to both but the sender doesn’t get a copy.
    Would very much appreciate the know how! Thank you

    Répondre
  3. Gaurav
    Gaurav dit :

    Hi,
    Thank you for creating such an useful plugin. I am using the contact form 7 signature in the form. I am trying to add the signature in the send pdf by adding it to tag. It is not showing up in final pdf. How can I add signature collected in form into the pdf. Any help from your end would be much appreciated..Thank you again..

    Répondre
  4. Kyra
    Kyra dit :

    Hi,

    You have created a great plugin! I love working with it and how easy it is to use.
    I just have one question how to i make the pdf sent to my email look more like the website page seen when filling out the form rather than just my logo and a text of my contact form content?

    Répondre
  5. Amit
    Amit dit :

    Hello Florent,

    Thank you very much for publishing such a great plugin free, it’s really helping us greatly. I just have a query and don’t know whether it is possible or not, do we have any way to delete pdf(after sending to users successfully) from file system? Currently, plugin sends mail with pdf successfully but due to some confidential things we can not keep them in server. Can you please help me out in this matter?

    Répondre
  6. Steve
    Steve dit :

    Coucou Florent !
    Je reviens vers toi. Bon alors déjà merci pour avoir résolu le bug de saut de ligne ca marche ! =D
    Mais ! car il y a un « mais ». Quand on fait un saut de ligne, le texte sauté n’est plus affilié à la css du [message], c’est génant car le changement de style peut etre très brusque x) …
    Alors j’ai fait une tentative de correction et ca a marché. Je te glisse ca en image dessous
    il fallait créer un div avec le style du paragraphe dedans et la il ne sort jamais de la stylisation.

    Voici mon code :
    ============
    (paragraphe de base ci-dessous):
    Affiliation(s): [affiliations]

    (paragraphe qui supporte le saut de ligne et garde la css):

    Abstract: [your-abstract]

    en image ca donne => http://hpics.li/c7200b5

    Voilà, je me suis dit que ca serait chouette de partager cette astuce au lieu de la garder dans mon coin.
    J’espère que ca te sera utile ainsi qu’aux utilisateurs de ce super plugin.

    Merci encore
    Steve

    Ps: En allant sur ton site, mon fox m’a indiqué ca O_o :
    http://www.hostingpics.net/viewer.php?id=968489bugsite.jpg

    Répondre
  7. Eric
    Eric dit :

    Bonjour,

    Tout d’abord, je souhaitais vous remercier pour votre plugin, qui remplit parfaitement les fonctions que nous souhaitions ajouter à celles de Contact Form 7.

    Depuis quelques jours, nous avons juste un petit souci. En effet les messages automatiques envoyés ne sont plus accompagnés des fichiers PDF listés dans la rubrique « Autres fichiers à joindre ? ».

    Auriez-vous une idée pour nous dépanner ?

    Meri beaucoup par avance.

    Cordialement.

    Répondre
  8. Joeri
    Joeri dit :

    Hi,

    everything seems to work fine.
    However, I would like the pdf to use the language of my choice, now it is in French when I did a test.
    How can we easily change this?

    Thanks for your reply in advance, you can answer in French, I can read it but it is a lot harder to type, my apologies 🙂

    Répondre
  9. Simone
    Simone dit :

    Bonjour,
    super votre plugin, sauf que:
    1. j’ai la dernière version de votre plugin
    2. j’ai la dernière version de CF7

    mais j’ai tous les problèmes cités par les autres utilisateurs, c’est à dire:

    1. une fois réglé le paramétrés il est impossible d’y revenir pour le même formulaire
    2. l’activation du plugin bloque l’envoi

    Vous pouvez essayer vous même ici: http://www.drauth.eu/arcalazio/richiesta-iscrizione-in-lavorazione/

    Merci de votre opinion about…

    Répondre
  10. Steve
    Steve dit :

    Bonjour Florent, Super extension vraiment !
    Mais j’ai un petit soucis, je ne sais pas si c’est un bug, mais lorsque j’ouvre mon PDF de 300 mots (joint à mon mail) avec 3 paragraphes, je m’aperçois que dans la conversion en PDF, il n’a pas pris en charge les sauts de ligne, du coup ca fait un gros bloc que de texte de 300 mots un peu rude à lire, alors que dans le mail il le texte du mail il les affiche.

    Aurais-tu une idée ?
    Merci d’avance et beau boulot.

    Répondre
  11. Nicolas
    Nicolas dit :

    Bonjour,

    Le plugin semble correspondre parfaitement à ce que je cherche mais j’ai un soucis à l’utilisation :
    Quand je sélectionne un formulaire pour la 1ière fois, j’accède bien à la page de configuration du PDF.
    Par contre, si je veux le modifier, j’ai beau resélectionner le formulaire mais la page de configuration du PDF ne se réaffiche plus 🙁

    Si vous avez une idée de la cause de ce problème, je suis preneur.

    Merci d’avance

    Nicolas

    Répondre
  12. Nicolas
    Nicolas dit :

    Bonjour,

    Votre plugin semble vraiment répondre parfaitement à ce que je cherche à faire mais j’ai un petit problème…
    En effet, quand je sélectionne mon formulaire pour la 1ière fois, la page de configuration du PDF s’affiche correctement mais si j’essaye par la suite de modifier mon PDF, en resélectionnant le même formulaire… rien ne se passe… la page de configuration du PDF ne s’ouvre pas…

    J’ai essayé avec un nouveau formulaire et j’ai toujours le même symptome :
    Je peux configurer le PDF la 1ière fois mais ensuite, je n’ai plus accès à la page de configuration de ce formulaire 🙁

    Une idée svp ?

    Merci d’avance 😉

    Nicolas

    Répondre
    • JMV
      JMV dit :

      J’ai le même souci sur WordPress 4.0.1 et j’ai la ligne de code ci-dessous qui s’affiche :

      « Notice: Use of undefined constant __DIR__ – assumed ‘__DIR__’ in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 156 Warning: include(__DIR__/mpdf/mpdf.php): failed to open stream: No such file or directory in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 156 Warning: include(__DIR__/mpdf/mpdf.php): failed to open stream: No such file or directory in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 156 Warning: include(): Failed opening ‘__DIR__/mpdf/mpdf.php’ for inclusion (include_path=’.;C:\php5\pear’) in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 156 Fatal error: Class ‘mPDF’ not found in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 157 »

      quand je veux modifier les paramètres du formulaire.

      Répondre
        • JMV
          JMV dit :

          Bonjour,
          Merci, ce bug est réglé mais j’en ai 2 autres de mon côté.

          Le premier, c’est que votre plugin bloque l’envoi du formulaire. Quand je désactive le plugin, l’envoi du formulaire fonctionne (j’ai la version 3.9.3 de Contact Form 7) .

          La deuxième (un peu moins gênant), c’est que rien ne se passe quand je clique sur « Sélectionner ou mettre une image en ligne » et quand je rentre directement l’URL de l’image, le code suivant s’affiche : Warning: getimagesize(): URL file-access is disabled in the server configuration in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 331 Warning: getimagesize(http://www.pvp.fr/php/wp-content/uploads/2016/06/pvp_playmobil_header_1500x450.jpg): failed to open stream: no suitable wrapper could be found in \\WAGNER\wwwrootamenfr$\1a144343a.hostnd\htdocs\www\php\wp-content\plugins\send-pdf-for-contact-form-7\wpcf7-send-pdf-admin.php on line 331 (La taille originale est px X px)

          Répondre
          • Florent Maillefaud
            Florent Maillefaud dit :

            Bonjour,

            Les deux autres erreurs viennent je pense de la configuration de votre serveur. En effet, pour l’erreur getimageize() il s’agit bien de la configuration « allow_url_fopen = On » du php.ini. J’ai testé en local, l’erreur est avérée.

            Cordialement

          • JMV
            JMV dit :

            Bonjour,
            J’ai trouvé les solutions à mes problèmes sans modifier le php.ini (auquel je n’ai pas accès sur mon serveur).
            La première, c’est que j’ai mis à jour « Contact Form 7 » vers la version 4.4.2. Cela règle le problème d’envoi du formulaire incluant un PDF. Par contre, j’avais toujours le message : « Get image Size… failed etc… ».
            Du coup, j’ai inclus une image dans le PDF avec du code HTML directement dans la case « Mise en page de votre PDF » () et en ne passant pas par « Saisissez une URL ou mettez en ligne une image ». Et là, ça fonctionne !

  13. Clems
    Clems dit :

    Bonjour,
    tout d’abord, merci beaucoup pour votre plugin : il est super efficace et m’évite qqs heures de travail.
    J’aimerai pouvoir insérer dans le document PDF un wp_user_meta (en fait j’aimerai faire des factures après achat, et mettre le prix en fonction de ce que l’utilisateur a acheté). Savez-vous où est ce que je dois insérer le code get_user_meta ? merci

    Répondre
    • Florent Maillefaud
      Florent Maillefaud dit :

      Bonjour Christophe,

      Oui tout a fait mais en intégrant les balises HTML.

      Ex: < img src= " http://www.votresite.com/wp-content/uploads/2016/04/VOTRE-IMAGE.jpg " >

      (des espaces sont en trop volontairement)

      Cordialement

      Répondre
          • Christophe
            Christophe dit :

            OOps, j’ai manqué de précision …
            Bon aller, je me lâche !!
            Je suis enseignant, l’année prochaine, il faut que les élèves remplissent des folios afin de faire un beau porte folio au bout de leur 3 années d’études.
            Chaque folio devra décrire une activité réalisée en entreprise ou en atelier.

            J’ai donc pris les devant et souhaitant créer un formulaire, qui génère ensuite un PDF. Dans ce formulaire, je souhaite leur demander d’uploader une photo, afin de l’intégré au PDF. Donc il ne s’agit pas d’une photo issue de WordPress, mais une photo uploadé par Contact form 7.

            Du coup, est-ce toujours possible :/

            Merci pour votre aide 🙂
            Christophe

  14. adrien
    adrien dit :

    Bonjour,

    Je rate sans doute quelque chose mais le pdf est uniquement réceptionné par le destinataire alors que j’ai bien choisi l’option qui permet de l’envoyer aussi à l’expéditeur.
    Est ce qu’il y a quelque chose de particulier à faire sur les réglages du formulaire en lui meme ?
    – mon champ « De » contient les tags suivants « [nom-expediteur] »
    (ou peut etre faut-il utiliser l’option email2 qui permet d’envoyer l’email à une seconde personne ?)

    Merci

    Répondre
    • adrien
      adrien dit :

      En fait j’ai répondu moi même à ma question.
      J’aurais du tester avant de demander ^^.

      Il faut bien ajouter l’option email2.

      Je pensais que le plugin enverrai juste le pdf à l’expéditeur en fonction de l’adresse email du champ « De » du formulaire.

      Super plugin en tt cas.

      Répondre
      • Florent Maillefaud
        Florent Maillefaud dit :

        Bonjour Adrien,

        Hum ! Cela soulève quand même une bonne réflexion.

        Cela est quand même normal que si tu ne mets pas de destinataire en email2 sur CF7 que le destinataire ne reçoive rien ! Et puis au moins dans l’email2 il sera au courant d’une pièce jointe l’attend 🙂

        Merci d’utiliser mon plugin.

        Répondre
  15. SHIRLEY SEYWERT
    SHIRLEY SEYWERT dit :

    Salut Florent,
    Ce que je souhaitais c’était de pouvoir générer un PDF avec les données du formulaire lors du clic sur le « submit » par l’internaute afin qu’il puisse le télécharger sur son PC. J’ai donc trouvé ton plugin, néanmoins, j’ai suivi à la lettre ton tuto mais j’ai un soucis. Lorsque je rempli mon formulaire et que j’appui sur envoi, aucun PDF n’est généré. j’ai juste un message me disant que mon ail a été envoyé

    Répondre
  16. Julie
    Julie dit :

    Bonjour,

    Le plugiciel fonctionne impeccablement, sauf pour un détail :
    quand je l’active, il devient impossible de télécharger des « featured images ».
    Je l’ai testé avant et après la mise à jour de WP 4.5.
    C’est peut-être une incompatibilité avec le thème utilisé (Atelier), mais je me demandais si quelqu’un d’autre vous avait mentionné ce problème auparavant?

    Répondre
  17. Fred
    Fred dit :

    Hello.. Petite propal de correction vu que j’avais du mal trouver la lib mpdf

    /var/www/vhosts/www.aixonwest.fr/httpdocs/wp-content/plugins/send-pdf-for-contact-form-7/wpcf7-send-pdf-admin.php
    Ligne 149
    — include(__DIR__.’/mpdf/mpdf.php’);
    ++ include(/mpdf/mpdf.php’);

    et ./wpcf7-send-pdf.php 229 pareil

    Répondre

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *