Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un pdf pour un formulaire html en php

    30 janvier 2023 à 11:10:36

    Bonjour, 

    je voudrais savoir si il y a un moyen en php de transformer directement la page HTML tel qu'elle est sans devoir créer un header , un footer .Et ce pdf  prendrait en compte toutes le code css de la page de mon formulaire s'il vous plait?

    -
    Edité par Rachelle22 30 janvier 2023 à 11:13:05

    • Partager sur Facebook
    • Partager sur Twitter
      30 janvier 2023 à 13:37:43

      Le probleme est que html2pdf transforme en pdf le HTML et prend en compte le css que si c'est des balise table or moi j'ai un formulaire sans balises table


      monkey3d a écrit:

      Bonjour,

      Il y a des bibliothèques pour cela. Par exemple :

      https://github.com/spipu/html2pdf

      https://grafikart.fr/tutoriels/generer-pdf-html2pdf-167

      A+



      -
      Edité par Rachelle22 30 janvier 2023 à 13:39:14

      • Partager sur Facebook
      • Partager sur Twitter
        30 janvier 2023 à 14:29:56

        Ce n'était pas dit dans le 1er post !

        Moi j'utilise : https://wkhtmltopdf.org/

        Et cela fait tout ce que je veux pour présenter des factures avec logo, image etc.

        A+

        • Partager sur Facebook
        • Partager sur Twitter
          30 janvier 2023 à 14:57:17


          D'accord , je vous remercie .Pensez vous que je peux l'utiliser avce un serveur mutualisé sur OVH ? 

          monkey3d a écrit:

          Ce n'était pas dit dans le 1er post !

          Moi j'utilise : https://wkhtmltopdf.org/

          Et cela fait tout ce que je veux pour présenter des factures avec logo, image etc.

          A+



          -
          Edité par Rachelle22 30 janvier 2023 à 14:57:28

          • Partager sur Facebook
          • Partager sur Twitter
            30 janvier 2023 à 15:28:18

            Aucune idée. A priori si version de php corresponde cela devrait le faire mais le diable se cache dans les détails.

            A+

            • Partager sur Facebook
            • Partager sur Twitter
              30 janvier 2023 à 16:09:12

              Rachelle22 a écrit:


              D'accord , je vous remercie .Pensez vous que je peux l'utiliser avce un serveur mutualisé sur OVH ? 


              Oui , tu peux l'utiliser sur serveur mutualisé sur OVH par installer et utiliser ce package https://github.com/h4cc/wkhtmltopdf-amd64 dans votre projet

              -
              Edité par hous 30 janvier 2023 à 16:11:08

              • Partager sur Facebook
              • Partager sur Twitter
                30 janvier 2023 à 16:13:08

                D'accord , connaissez-vous un tuto pour l'utilisation avec OVH s'il vous plait? 


                hous a écrit:

                Rachelle22 a écrit:


                D'accord , je vous remercie .Pensez vous que je peux l'utiliser avce un serveur mutualisé sur OVH ? 


                Oui , tu peux l'utiliser sur serveur mutualisé sur OVH par installer ce package https://github.com/h4cc/wkhtmltopdf-amd64 dans votre projet

                -
                Edité par hous il y a moins de 30s



                • Partager sur Facebook
                • Partager sur Twitter
                  30 janvier 2023 à 16:24:33

                  Tu parles utilisation ou installation ?

                  Pour installer suivant ta plateforme : https://wkhtmltopdf.org/downloads.html

                  Et sinon faut lire la doc pour s'en servir.

                  A+

                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 janvier 2023 à 16:28:49

                    Rachelle22 a écrit:

                    D'accord , connaissez-vous un tuto pour l'utilisation avec OVH s'il vous plait? 

                    C'est pas lié au ovh , ce package va être installé (avec composer) dans votre projet dans le dossier vendor normalement puis tu peux l'utiliser dans votre code php. Si il va fonctionner sur votre machine donc il va fonctionner sur le serveur car vous allez rien installer sur le serveur.

                    Pardon , pour convertir html en pdf tu peux utiliser aussi https://github.com/KnpLabs/snappy qui fonctionne avec wkhtmltopdf.

                    Moi je les utilise dans un projet symfony sur un serveur mutualisé IONOS et ça fonctionne bien

                    -
                    Edité par hous 30 janvier 2023 à 16:29:41

                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 janvier 2023 à 9:29:46

                      Bonjour,

                      Je n'utilise pas ciomposer avec mon projet , je ne m'y connais pas trop. Mais les personnes qui vont utiliser mon site n'auront pas wkhtmltopdf sur leurs mamchine. Merci pour snappy .


                      hous a écrit:

                      C'est pas lié au ovh , ce package va être installé (avec composer) dans votre projet dans le dossier vendor normalement puis tu peux l'utiliser dans votre code php. Si il va fonctionner sur votre machine donc il va fonctionner sur le serveur car vous allez rien installer sur le serveur.

                      Pardon , pour convertir html en pdf tu peux utiliser aussi https://github.com/KnpLabs/snappy qui fonctionne avec wkhtmltopdf.

                      Moi je les utilise dans un projet symfony sur un serveur mutualisé IONOS et ça fonctionne bien

                      ---------------------------------------------------------------------------------------------

                      Bonjour ,  

                      je parles des deux.

                      Du coup je copie à la racine de mon projet (www) le fichier de l'installation et ensuite si je veux utiliser wkhtmltopdf je n'ai pas forcément besoin d'une console de commande ? Je peux ecrire par exemple dans une fichier php la ligne suivante : wkhtmltopdf http://google.com google.pdf?



                      monkey3d a écrit:

                      Tu parles utilisation ou installation ?

                      Pour installer suivant ta plateforme : https://wkhtmltopdf.org/downloads.html

                      Et sinon faut lire la doc pour s'en servir.

                      A+



                      -
                      Edité par Rachelle22 31 janvier 2023 à 9:38:12

                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 janvier 2023 à 10:15:30

                        Rachelle22 a écrit:

                        Bonjour,

                        Je n'utilise pas ciomposer avec mon projet , je ne m'y connais pas trop. Mais les personnes qui vont utiliser mon site n'auront pas wkhtmltopdf sur leurs mamchine. Merci pour snappy.


                        Composer un un outil pour installer des composants dans ton projet. Tu as dis "les personnes qui vont utiliser mon site n'auront pas wkhtmltopdf sur leurs mamchine." , est-ce que les utilisateurs doivent avoir php et mySql et apache installés sur leurs machines aussi pour qu'ils puissent utiliser ton site internet ou bien n'importe quel site ???!!!

                        wkhtmltopdf va être insallé dans ton projet et lorsque tu va le mettre sur serveur il va fonctionner pour tous les utilisateur !

                        -
                        Edité par hous 31 janvier 2023 à 10:17:34

                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 janvier 2023 à 12:20:56

                          effectivement , malheuresement je n'arrive ni a comprendre comment fonctionne composer ni wkhtmltopdf et je ne comprend pas comment les installé sur ovh et les utilser avec OVH.

                          hous a écrit:


                          Composer un un outil pour installer des composants dans ton projet. Tu as dis "les personnes qui vont utiliser mon site n'auront pas wkhtmltopdf sur leurs mamchine." , est-ce que les utilisateurs doivent avoir php et mySql et apache installés sur leurs machines aussi pour qu'ils puissent utiliser ton site internet ou bien n'importe quel site ???!!!

                          wkhtmltopdf va être insallé dans ton projet et lorsque tu va le mettre sur serveur il va fonctionner pour tous les utilisateur !



                          • Partager sur Facebook
                          • Partager sur Twitter
                            31 janvier 2023 à 15:11:59

                            Tu dois installer composer ou bien télécharger le fichier composer.phar

                            puis avec l'invite de commande dans le racine de ton projet lancer ces deux commandes pour installer Snappy et wkhtmltopdf:

                            composer require h4cc/wkhtmltoimage-amd64 "0.12.4"
                            
                            composer require knplabs/knp-snappy

                            Les fichiers seront installé dans un nouveau dossier "vendor"

                            Puis dans une page par exemple index.html :

                            <!DOCTYPE html>
                            <html lang="en">
                            <head>
                                <meta charset="UTF-8">
                                <title>PDF</title>
                            </head>
                            <body>
                            
                            <p><a href="convertir_pdf.php">Convertir en pdf</a> </p>
                            <form>
                                <label>Nom</label><input type="text">
                            </form>
                            
                            </body>
                            </html>

                            et dans convertir_pdf.php :

                            <?php
                            
                            require __DIR__ . '/vendor/autoload.php';
                            
                            use Knp\Snappy\Pdf;
                            
                            $snappy = new Pdf(__DIR__ . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64');
                            
                            header('Content-Type: application/pdf');
                            header('Content-Disposition: attachment; filename="formulaire.pdf"');
                            
                            echo $snappy->getOutput('index.html');
                            
                            
                            
                            

                            Lorsque tu clique sur le lien , un fichier pdf qui contient le html de la page index.html va être téléchargé:

                            sources :

                            https://github.com/h4cc/wkhtmltoimage-amd64

                            https://github.com/KnpLabs/snappy


                            -
                            Edité par hous 31 janvier 2023 à 15:12:24

                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 janvier 2023 à 16:35:15

                              d'accord merci beaucoup.

                              Néanmoins, je n'arrive pas a installer je crois correctement composer car uil me dit qu ela commande est introuvable.


                              hous a écrit:

                              Tu dois installer composer ou bien télécharger le fichier composer.phar

                              puis avec l'invite de commande dans le racine de ton projet lancer ces deux commandes pour installer Snappy et wkhtmltopdf:

                              composer require h4cc/wkhtmltoimage-amd64 "0.12.4"
                              
                              composer require knplabs/knp-snappy

                              Les fichiers seront installé dans un nouveau dossier "vendor"

                              Puis dans une page par exemple index.html :

                              <!DOCTYPE html>
                              <html lang="en">
                              <head>
                                  <meta charset="UTF-8">
                                  <title>PDF</title>
                              </head>
                              <body>
                              
                              <p><a href="convertir_pdf.php">Convertir en pdf</a> </p>
                              <form>
                                  <label>Nom</label><input type="text">
                              </form>
                              
                              </body>
                              </html>

                              et dans convertir_pdf.php :

                              <?php
                              
                              require __DIR__ . '/vendor/autoload.php';
                              
                              use Knp\Snappy\Pdf;
                              
                              $snappy = new Pdf(__DIR__ . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64');
                              
                              header('Content-Type: application/pdf');
                              header('Content-Disposition: attachment; filename="formulaire.pdf"');
                              
                              echo $snappy->getOutput('index.html');
                              
                              
                              
                              


                              -
                              Edité par Rachelle22 31 janvier 2023 à 16:35:49

                              • Partager sur Facebook
                              • Partager sur Twitter
                                31 janvier 2023 à 17:02:48

                                Il faut l'installer sur ton machine https://getcomposer.org/download/

                                 Moi j'utilise linux, si tu utilise windows tu dois chercher le fichier .exe

                                https://www.geeksforgeeks.org/how-to-install-php-composer-on-windows/

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 janvier 2023 à 17:53:18

                                  Tu as plusieurs manières de faire ...

                                  - soit tu installes composer sur ta machine de prod donc ovh et tu joues composer pour installer tous les packages;

                                  - soit tu installes uniquement sur ta machine de dev et tu dois dans ce cas transférer tout ton projet - y compris les vendor - du dev sur la prod.

                                  A+

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    6 février 2023 à 10:44:33

                                    Bonjour , 

                                    j'ai suivi ces tutos pour installer composer sur mon invite de commande: https://getcomposer.org/download/ , https://getcomposer.org/doc/01-basic-usage.md

                                    malgré tout on me dit que composer est une commande introuvable 

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      7 février 2023 à 10:37:09

                                      Rachelle22 a écrit:

                                      Bonjour , 

                                      j'ai suivi ces tutos pour installer composer sur mon invite de commande: https://getcomposer.org/download/ , https://getcomposer.org/doc/01-basic-usage.md

                                      malgré tout on me dit que composer est une commande introuvable 


                                      Essayer de télécharger le fichier composer.phar et utilise le à la place de l'autre composer juste pour avancer.

                                      Si tu mets le fichier composer.phar dans la racine de ton projet donc les commandes sont :

                                      php composer.phar require h4cc/wkhtmltoimage-amd64 "0.12.4"
                                       
                                      php composer.phar require knplabs/knp-snappy



                                      -
                                      Edité par hous 7 février 2023 à 12:00:14

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 février 2023 à 11:50:40

                                        Et si tu n'y arrives vraiment pas avec composer ce qui serait dommage .... je t'ai proposé une autre solution qui fonctionne.

                                        A+

                                        -
                                        Edité par monkey3d 7 février 2023 à 11:50:57

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          8 février 2023 à 16:26:21

                                          J' ai reussi en utilisant composer.phar mais il y a toujour sun problme je crois qu'il est dans le lien du chemin :

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 février 2023 à 16:36:44

                                            Bonjour,

                                            tes images ne s'affichent pas :( le forum est capricieux. Tu peux éditer ton message pour corriger. Attention : si c'est du code que tu veux nous montrer, ça ne doit pas être en image mais en utilisant le bouton </> de la barre d'outils du forum.

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                              13 février 2023 à 9:46:57

                                              Bonjour, oui désolé c'etait des captures d'ecran qui n'ont pas chargé .

                                              Je disais donc avoir tout fait comme @hous m'a conseillé eninstallant snappy et wkhtmltopdf, en faisant également un essai avec un le meme code mais ca bloque au niveau de la page php qui doit renvoyer le pdf :

                                               


                                              pdfc.html:

                                              <?php
                                               
                                              require __DIR__ . '/vendor/autoload.php';
                                               
                                              use Knp\Snappy\Pdf;
                                               
                                              $snappy = new Pdf(__DIR__ . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64');
                                               
                                              header('Content-Type: application/pdf');
                                              header('Content-Disposition: attachment; filename="formulaire.pdf"');
                                               
                                              echo $snappy->getOutput('index.html');
                                              
                                              ?>


                                              index.html:

                                              <!DOCTYPE html>
                                              <html lang="en">
                                              <head>
                                                  <meta charset="UTF-8">
                                                  <title>PDF</title>
                                              </head>
                                              <body>
                                               
                                              <p><a href="pdfc.php">Convertir en pdf</a> </p>
                                              <form>
                                                  <label>Nom</label><input type="text">
                                              </form>
                                               
                                              </body>
                                              </html>




                                              hous a écrit:

                                              Tu dois installer composer ou bien télécharger le fichier composer.phar

                                              puis avec l'invite de commande dans le racine de ton projet lancer ces deux commandes pour installer Snappy et wkhtmltopdf:

                                              Les fichiers seront installé dans un nouveau dossier "vendor"

                                              Puis dans une page par exemple index.html :...

                                              et dans convertir_pdf.php :...



                                              -
                                              Edité par Rachelle22 13 février 2023 à 10:01:09

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                13 février 2023 à 14:24:27

                                                Le dossier vendor doit être dans la racine de ton projet , normalement c'est dans www.

                                                Mais pourquoi tu travailles sur le serveur ? essayer de le faire sur ton machine avant

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  13 février 2023 à 16:15:39

                                                  Avant d'installer sur OVH vérifie que sur ta plateforme de développement cela fonctionne.

                                                  Tu ne nous as toujours pas dit sauf erreur comment tu avais installé ?

                                                  A+

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 février 2023 à 11:49:06

                                                    Sur la machine , je n'arrive pas à installer.Il est tres important de savoir si ca marche sur OVH car mon site est hébergé dessus. D'accord je déplacerai le dossier vendor . 

                                                    hous a écrit:

                                                    Le dossier vendor doit être dans la racine de ton projet , normalement c'est dans www.

                                                    Mais pourquoi tu travailles sur le serveur ? essayer de le faire sur ton machine avant


                                                    ---------------------------------------------------------------------------------------------------

                                                    Je ne trouve pas les commandes pour l'installer sur mon invite de commande sur windows. Je l'ai installé en suivant les indications de @hous dans les messages précédent.

                                                    monkey3d a écrit:

                                                    Avant d'installer sur OVH vérifie que sur ta plateforme de développement cela fonctionne.

                                                    Tu ne nous as toujours pas dit sauf erreur comment tu avais installé ?

                                                    A+

                                                    -
                                                    Edité par Rachelle22 14 février 2023 à 11:50:29

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      14 février 2023 à 12:14:39

                                                      Rachelle22 a écrit:

                                                      Sur la machine , je n'arrive pas à installer.Il est tres important de savoir si ca marche sur OVH car mon site est hébergé dessus. D'accord je déplacerai le dossier vendor 

                                                      Tous les développeurs travaillent sur leurs machines puis ils mets le code sur le serveur. Tus as apache et php sur ton machine, alors sur le serveur ovh il ya aussi l'apache et php installé , pourquoi tu fais compliquer les choses simples !

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 février 2023 à 12:51:37

                                                        Quelque soit le type de projet, on développe et test sur un environnement qui n'est pas la prod. Quand cela fonctionne sur l'env de dev / test alors on peut passer en prod. Et là si problème, il est lié à l'env de prod.

                                                        Perso tu dis avoir installé avec les indications de @hous mais sauf erreur il t'a bien demandé d'utiliser composer. Et ensuite tu dis que tu n'arrives pas à installer ??? pour moi c'est incohérent.

                                                        A+

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          15 février 2023 à 14:20:56

                                                          d'accord . Je n'arrive pas à installer composer sur ma machine mais j'ai reussi a l'installer sur le ssh de OVH .Les commandes que j'utilise pour l'installer sur le ssh de OVH ne marche pas pour ma machine (ls, php composer.phar etc...).

                                                          monkey3d a écrit:

                                                          Quelque soit le type de projet, on développe et test sur un environnement qui n'est pas la prod. Quand cela fonctionne sur l'env de dev / test alors on peut passer en prod. Et là si problème, il est lié à l'env de prod.

                                                          Perso tu dis avoir installé avec les indications de @hous mais sauf erreur il t'a bien demandé d'utiliser composer. Et ensuite tu dis que tu n'arrives pas à installer ??? pour moi c'est incohérent.

                                                          A+

                                                          -----------------------------------------------------------------------------------------------------------------------------------------

                                                          d'accord

                                                          hous a écrit:

                                                          Tous les développeurs travaillent sur leurs machines puis ils mets le code sur le serveur. Tus as apache et php sur ton machine, alors sur le serveur ovh il ya aussi l'apache et php installé , pourquoi tu fais compliquer les choses simples !





                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            15 février 2023 à 15:13:54

                                                            Moi je vais laisser car comment veux tu développer une appli web si sur ton env de dev tu n'as pas les composants nécessaires installés.

                                                            Bref tu penses avoir installé les composants en ssh sur la prod mais cela ne fonctionne pas alors là d'où cela vient ? des composants ? de ton dev ?

                                                            En plus que veux dire cela ne marche pas ? tu as des messages d'erreur ? des logs ? ...

                                                            Ce qui serait plus efficace et régulier c'est que tu essaies d'installer composer sur ton environnement de dév. Si tu as alors des difficultés c'est là qu'il faut nous dire ce qui se passe : message d'erreur ? log ?

                                                            A+

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Créer un pdf pour un formulaire html en php

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown