Partage
  • Partager sur Facebook
  • Partager sur Twitter

KnpSnappyBundle et Wkhtmltopdf serveur OVH

    23 avril 2014 à 21:58:08

    Salut !

    Pour mon site je génère des factures que je produis d'abord au format HTML grâce à Twig puis j'utilise le bundle KnpSnappy pour créer des PDF que j'enregistre par la suite, pas de problème en local sur wamp et windows.

    Je suis sur un serveur OVH mutualisé offre Pro et il faut fournir au bundle, via la configuration, le chemin vers l'exécutable wkHtmltoPdf. 

    Je voulais savoir si quelqu'un a déjà effectué cette installation/configuration ? A vrai dire j'ai aucune idée de comment faire et d'ailleurs je sais même pas si c'est faisable d'exécuter des binaires sur les serveurs OVH en mutu... pour l'instant je n'arrive pas à le lancer en ligne de commande par SSH.

    Sinon, est-ce que vous connaîtriez d'autres bundles qui permettent de générer des pdf ?

    Merci :D

    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2014 à 15:40:46

      Personne n'utilise wkhtml ? :/
      • Partager sur Facebook
      • Partager sur Twitter
        8 septembre 2014 à 16:35:58

        Je me pose la même question.. Quelqu'un aurait-il une réponse ?
        • Partager sur Facebook
        • Partager sur Twitter
          9 septembre 2014 à 6:59:57

          Bonjour,

          Le mieux serait d'appeler le service client/technique OVH :)

          et si possible nous faire un retour, car je pense que je ne vais pas tarder à passer mon site/logiciel sur 1&1 peut être que je serais dans le même cas :s

          Cordialement

          • Partager sur Facebook
          • Partager sur Twitter
          Un jour sans rien apprendre est un jour de perdu
            9 septembre 2014 à 10:13:50

            Bonjour rainbow0601,

            J'ai envoyé un mail à OVH et suis dans l'attente d'une réponse de leur part.

            Je partagerai l'information dès que je l'aurai.

            F. Cooper

            • Partager sur Facebook
            • Partager sur Twitter
              9 septembre 2014 à 10:18:54

              Je n'ai pas encore la réponse d'OVH mais j'ai trouvé sur internet qu'il serait possible d'utiliser wkhtmltopdf sur OVH avec un binaire sur n'importe quelle offre.

              Théoriquement, il serait donc possible de récupérer le binaire correspondant à notre hébergement, de le placer dans un répertoire (par ex., /bin) et de le spécifier dans la config du bundle qui requiert wkhtmltopdf.

              Le problème est que je ne sais pas quel binaire est à utiliser pour un serveur OVH.. Voici la page de téléchargement officielle : lien

              F. Cooper

              • Partager sur Facebook
              • Partager sur Twitter
                10 septembre 2014 à 7:27:46

                Bonjour fredcooper,

                Tu peux les appeler afin qu'il puisse te répondre rapidement.

                Pourle choix tout dépend de la machine sur laquelle tu te trouves :)

                courage ;)

                • Partager sur Facebook
                • Partager sur Twitter
                Un jour sans rien apprendre est un jour de perdu
                  10 septembre 2014 à 8:09:35

                  Je ne suis malheureusement pas français.. Je n'ai pas envie de payer une communication depuis l'étranger ;)

                  Ils devraient bien me répondre un jour ou l'autre :D

                  Je vais essayer tous les binaires pour linux et je verrai bien lequel fonctionne, dans le pire des cas

                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 octobre 2014 à 16:01:59

                    Voici une réponse d'OVH : http://forum.ovh.com/showthread.php?98614-WKhtmltopdf-mutualis%E9-PRO

                    "La distribution utilisée sur nos offres d'hébergement mutualisé PRO est une Debian (Linux).
                    Quant aux fichiers binaires, ces derniers peuvent bien être exécutés sur nos hébergement mutualisé."
                    - Nicolas C. / Team OVH

                     "[...] cela fonctionne très bien sur mon environnement Mutu PRO [...]"
                    - xgiunta / Membre

                    Reste à tester la version 32bit et 64bit de WKhtmltopdf ... je commencerais par la version 64bit ;-).

                    Y'a donc de l'espoir :-)

                    -
                    Edité par netmee 23 octobre 2014 à 16:02:25

                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 octobre 2014 à 11:07:12

                      Bonjour,

                      Avez-vous réussi à faire fonctionner wkhtmltopdf sur une offre mutualisée Pro d'OVH ???

                      J'ai essayé avec les versions 32bit et 64bit de wkhtmltopdf, en SSh mais sans succès (erreur de bus dans un cas et fichier introuvable dans l'autre)...

                      Je vous remercie par avance pour les indications que vous pourriez transmettre.

                      Bonne journée à tous,

                      Cammille

                      -
                      Edité par Cammmille 31 octobre 2014 à 11:08:08

                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 décembre 2014 à 18:24:29

                        Bonjour je relance le sujet au cas où, j'ai appelé le soit disant service technique d'OVH et je tombe sur des incompétents, incapable de me dire quoi que ce soit.

                        Bref j'ai aussi essayé de dé-compiler les packages Debian sans succès, je pense me résoudre à l'idée que ce n'est pas possible à moins que quelqu'un est un miracle à proposer ?

                        Merci !

                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 février 2015 à 11:38:38

                          Je me suis pris un peu la tête pour faire marcher tout ca et j'y suis arrivé, donc je partage avec vous...

                          J'ai un site pro mutualisé chez OVH, et tout ce qui suit se passe sur la console ssh de ce site.

                          Tout d'abord l'architecture... 32 ou 64? Si le "uname -a" nous montre un kernel 64, il faut se méfier, on voit un le kernel qui exécute la VM, la commande file nous aide à y voire plus claire:

                           $ file /bin/ls
                          /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

                          Donc on va bidouiller en 32 bits...
                          La commande "lsb_release -a" nous montre qu'on utilise une distribution Debian squeeze, malheureusement le package wkhtmltox qui supporte de tourner sans session X n'existe que sous la distribution wheezy mais ca n'a pas posé de problème... Je vous laisse checker la man page de wkhtmltopdf pour plus d'info, ou bien allez sur le site: http://sourceforge.net/projects/wkhtmltopdf
                          Passons au comment faire:
                          Sur une console locale chez vous, vous faites:
                          $ mkdir target
                          $ wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-wheezy-i386.deb
                          $ wget http://ftp.de.debian.org/debian/pool/main/libj/libjpeg8/libjpeg8_8d-1+deb7u1_i386.deb
                          Si problème avec les liens, recherchés vous-mêmes les dernier package sur les sites qui vont bien
                          $ dpkg -x wkhtmltox-0.12.2.1_linux-wheezy-i386.deb target/.
                          $ dpkg -x libjpeg8_8d-1+deb7u1_i386.deb target/.
                           Un peu de nettoyage:
                          $ rm -fr target/usr/share
                          $ rm -fr target/usr/local/share
                          $ rm -fr target/usr/local/include
                          On peut aussi enlever wkhtmltoimage
                          $ rm -f target/usr/local/bin/wkhtmltoimage
                          On tar tout ca:
                          $ tar cfa target.tar.gz target
                          Désormais vous devez copier target.tar.gz sur votre site, vous le décompressez à la racine par exemple.
                          Il ne vous reste plus qu'à vous connecter sur votre console ssh de votre site et exporter quelques variables:
                          $ export PATH=~/target/usr/local/bin:$PATH
                          $ export LD_LIBRARY_PATH=~/target/usr/local/lib:~/target/usr/lib:~/target/usr/lib/i386-linux-gnu
                          Et la magie opère...
                          $ echo "<html><body><h1>Hello World !</h1></body></html>" > toto.html
                          $ wkhtmltopdf toto.html toto.pdf
                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 février 2015 à 12:06:54

                            Merci pour cette solution, il n'y a plus qu'à tester !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 mars 2015 à 12:11:52

                              Merci pour cette solution Xboudet.

                              Par contre, quand je la mets en place dans mon cas, je recois cette erreur :

                              "Error while loading shared libraries: libjpeg.so.8 : Cannot open shared object file: No such file or directory"

                              Tu aurais une idée ?

                              Merci. 

                              • Partager sur Facebook
                              • Partager sur Twitter
                                16 mars 2015 à 14:16:10

                                Mynsc a écrit:

                                Par contre, quand je la mets en place dans mon cas, je recois cette erreur :

                                "Error while loading shared libraries: libjpeg.so.8 : Cannot open shared object file: No such file or directory"

                                Tu aurais une idée ?

                                Merci. 


                                Ca semble vouloir dire que tu n'as pas "exporté" correctement LD_LIBRARY_PATH ou alors que tu n'as pas téléchargé et décompressé correctement le package libjpeg8... Est ce que tu vois la lib libjpeg.so.8? En général c'est un lien symbolique vers la lib libjpeg.so.8.4.0.

                                As tu la même arborescence de fichier que dans mon exemple?

                                Tu peux aussi essayer de positionner les variables d’environnement au moment de l'appel de wkhtmltopdf, ca fait une ligne de commande assez moche mais c'est comme ca que je l'appelle dans mon code php:

                                LD_LIBRARY_PATH=~/target/usr/local/lib:~/target/usr/lib:~/target/usr/lib/i386-linux-gnu ~/target/usr/local/bin/wkhtmltopdf toto.html toto.pdf

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 mai 2015 à 9:45:55

                                  Tout marche nickel.

                                  Le dernier problème étant que la question à la base était de faire marcher KNPSnappyBundle.

                                  Ce dernier nous demande de renseigner le chemin vers l'éxecutable wkhtmltopdf.

                                  j'ai donc renseigné ~/target/usr/local/bin/wkhtmltopdf

                                  Le problème c'est que j'ai une erreur 

                                  error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory

                                  Que je ne vois pas comment résoudre dans symfony

                                  -
                                  Edité par olix21 15 mai 2015 à 9:56:12

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 juin 2015 à 17:24:04

                                    Salut à tous, de notre côté on utilise aussi symfony et donc je pense que vous n'exporter pas le PATH pour exécuter le wkhtmltopdf local.

                                    Par exemple on a dans note fichier ./app/config/config.yml la ligne suivante...

                                    binary:     LD_LIBRARY_PATH=~/target/usr/local/lib:~/target/usr/lib:~/target/usr/lib/i386-linux-gnu ~/target/usr/local/bin/wkhtmltopdf

                                    C'est uniquement avec cette ligne qu'on arrivera à positionner LD_LIBRARY_PATH à chaque appel de wkhtmltopdf...

                                    Voilou...

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 mars 2016 à 9:10:21

                                      Salut xboudet,

                                      Je m'adresse spécialement à toi, vu que tu maitrises assez bien le sujet apparemment.

                                      J'avais installé il y a qq temps wkhtmltopdf et cela marchait en ligne de commande (ssh) mais je n'avais pas mis à jour le binary dans config.yml. J'avais abandonné depuis... Ici me voilà à devoir finalement faire marcher wkhtmltopdf...

                                      J'ai donc réuploadé wkhtmltopdf, j'ai essayé d'executer un petit

                                      $ wkhtmltopdf --version

                                      voir si ça marchait... et là... je reçois cet horrible message: "Erreur du bus". J'ai essayé la dernière version de wkhtmltopdf, toutes les versions 12 antérieures (en wheezy - i386) mais sans succès.

                                      Aurais-tu une piste? 

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        31 août 2016 à 23:50:14

                                        Bonjour,

                                        Je ressort le sujet mais je suis confronté a un probleme lors de la procedure expliquer par xboudet.

                                        J'ai le message libjpeg.so.8 file too short

                                        Avez-vous une idée ?

                                        Merci d'avance

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          7 octobre 2016 à 10:12:47

                                          Bonjour,

                                          Pour ma part, j'ai suivi la procédure détaillée par xboudet pour installer xkhtmltopdf sur mon mutualisé OVH performance 1, mais sans installer libjpeg et sans exporter le chemin vers PATH. Ca fonctionne nickel en faisant directement appel au binaire ./xkhtmltopdf.

                                          Merci !

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            3 janvier 2017 à 0:02:10

                                            c'est où vous pouvez trouver le binaire de wkhtmltopdf http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/

                                            -
                                            Edité par manouwett 3 janvier 2017 à 20:26:22

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              20 janvier 2017 à 12:10:58

                                              Alors tout fonctionne sauf Symfony qui ne connais pas l'éxecutable "wkhtmltopdf" puisqu'il n'est pas lié à l'export, alors qu'en ligne de commande tout fonctionne bien .

                                              Ma solution :

                                              Dans app/config/parameter.yml

                                              wkhtmlto.binary: export PATH=~/target/usr/local/bin:$PATH; export LD_LIBRARY_PATH=~/target/usr/local/lib:~/target/usr/lib:~/target/usr/lib/i386-linux-gnu ~/target/usr/local; wkhtmltopdf

                                              Dans app/config/config.yml

                                              knp_snappy:
                                                  temporary_folder: %kernel.cache_dir%/snappy
                                                  pdf:
                                                      enabled:    true
                                                      binary:     %wkhtmlto.binary%
                                                      options:    []

                                              -
                                              Edité par Anonyme 20 janvier 2017 à 12:12:15

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                25 septembre 2017 à 16:54:59

                                                Bonjour à tous, en suivant la configuration juste audessus adapté à mon cas, j'obtiens un magnifique :

                                                The exit status code '126' says something went wrong:
                                                stderr: "sh: /home/procontakq/Configurateur/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf: Permission denied
                                                "

                                                Apparement, un problème de droit... J'ai essayé différents droits d'ad'accés, mais rien n'y fait...

                                                Une idée ?

                                                Une piste ?

                                                Merci d'avance !

                                                [EDIT]

                                                En fait, j'ai mis ça seulement dans parameters.yml

                                                wkhtmlto.binary: export PATH=/home/procontakq/Configurateur/vendor/h4cc/wkhtmltopdf-amd64/bin:$PATH; export LD_LIBRARY_PATH=/home/procontakq/Configurateur/vendor/h4cc/wkhtmltopdf-amd64/bin; wkhtmltopdf


                                                A quoi sert LD_LIBRARY_PATH ? Comment en détermine-t-on sa valeur ?

                                                -
                                                Edité par Gilles Lengy 26 septembre 2017 à 9:29:01

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  5 octobre 2017 à 9:28:06

                                                  Il manque la lirairie libX11. On s'est rabattu sur MpdfPortBundle
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    16 octobre 2017 à 20:38:01

                                                    Bonjour,

                                                    J'ai réussi à faire fonctionné wkhtmltopdf sur un hébergement mutualisé OVH il y a deux ans en utilisant la méthode de xboudet.

                                                    Mais sur un hébergement plus récent, je n'ai pas réussi avec cette méthode (en octobre 2017).

                                                    Après quelques galères, ça fonctionne !

                                                    Howto :

                                                    lsb_release -a

                                                    nous dit qu'on est sur une Debian Jessie.

                                                    file /bin/ls

                                                    nous indique qu'on est sur une architecture i386.

                                                    Sur la page download du site de wkhtmltopdf, la version "Bleeding Edge" pour Debian Jessie ne fonctionne pas (du moins je n'ai pas réussi à la faire fonctionné).

                                                    Sur Debian packages, le .deb de wkhtmltopdf pour Jessie ne fonctionne pas non plus (ici aussi, je n'ai peut-être pas fait ce qu'il faut).

                                                    Mais, sur la page download du site wkhtmltopdf, la version "Stable" pour Linux 32-bit (lien vers l'archive) fonctionne bien !

                                                    Après décompression, j'ai :

                                                    • supprimé les fichiers inutiles comme xboudet l'indiquait (share/ et bin/wkhtmltoimage) ;
                                                    • créé un tar.gz du répertoire wkhtmltox (pour conserver les symlinks)
                                                    • envoyé cette archive sur le serveur
                                                    • décompressé cette archive sur le serveur
                                                    • testé wkhtmltopdf avec les commandes :
                                                      export PATH=~/wkhtmltox/bin:$PATH
                                                      echo "<html><body><h1>Hello World</h1></body></html>" > test.html
                                                      wkhtmltopdf test.html test.pdf

                                                    Comme j'utilise knp-snappy-bundle pour Symfony, j'ai rajouté les lignes suivantes à ma config :

                                                    knp_snappy:
                                                        temporary_folder: %kernel.cache_dir%/snappy
                                                        pdf:
                                                            enabled:    true
                                                            binary:     "%wkhtmltopdf_path%"
                                                            options:    []

                                                    Où wkhtmltopdf_path est une variable qui se trouve dans mon fichier parameters.yml :

                                                    wkhtmltopdf_path: 'export PATH=~/wkhtmltox/bin:$PATH'

                                                    (plus pratique si on a wkhtmltopdf installé en local pour le dev, de mon côté en local j'ai wkhtmltopdf_path: /usr/local/bin/wkhtmltopdf)

                                                    Remarques :

                                                    • je n'ai pas (encore) testé pour le rendu d'images, pour l'instant je n'ai que tu texte avec du CSS bootstrap (d'ailleurs, mPDF a du mal avec les grids de Bootstrap)
                                                    • apparremment, je n'ai pas eu besoin de libjpeg, donc pas besoin de la variable d'environnement LD_LIBRARY_PATH, ça aura peut-être un impact pour le rendu des images...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      25 janvier 2018 à 13:55:35

                                                      Bonjour,

                                                      Merci pour les informations. Pour ma part, j'ai réussi à faire fonctionné wkhtmltopdf sur un des 2 serveurs ovh que je dispose. Sur l'un d'eux, ça fonctionne sans problèmes, par contre, sur le 2ème, j'ai un segmentation fault.

                                                      Savez-vous d'où pourrait venir ce problème?

                                                      Merci d'avance,

                                                      Jon

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        22 avril 2019 à 0:32:16

                                                        Pour mon cas , sur un projet laravel 5.6 , j'ai appliquer la commande lsb_release -a 

                                                        je touve cela 

                                                        No LSB modules are available.

                                                        Distributor ID: Debian

                                                        Description:    Debian GNU/Linux 8.11 (jessie)

                                                        Release:        8.11

                                                        Codename:       jessie   

                                                        Alors j'ai exéxuté la commande  php composer.phar require h4cc/wkhtmltopdf-i386 "0.12.4"

                                                        et sa marche avec succés !!

                                                        -
                                                        Edité par HaithemKdous 22 avril 2019 à 0:35:56

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          22 novembre 2020 à 23:42:56

                                                          Bonjour,

                                                          Je déterre le sujet mais je suis confronté au même problème. Je suis sous Windows et j'ai utilisé wkhtmltopdf. Pour l'executable windows avec knpsnappybundle, ça fonctionne très bien. Mais dès que je le mets sous OVH ça ne fonctionne plus. 

                                                          J'ai installé les dernières versions à cette adresse https://wkhtmltopdf.org/downloads.html pour Debian.

                                                          - Pour i386 : bus error.

                                                          - Pour amd64 : Le fichier est introuvable.

                                                          Si j'installe les versions antérieures j'obtiens un segment fault.

                                                          Est-ce que quelqu'un a réussi récemment, sous windows en local, à utiliser knpsnappybundle avec wkhtmltopdf sur un hébergement mutualisé ovh ? 

                                                          Je vous remercie.

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          KnpSnappyBundle et Wkhtmltopdf serveur OVH

                                                          × 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