wicked_pdf ne fonctionne pas sur le serveur Ubuntu: wkhtmltopdf: impossible de se connecter au serveur X
Je suis en train d'utiliser wicked_pdf sur mon serveur de prod, mais il se maintient failling :
RuntimeError (Failed to execute:
"/usr/bin/wkhtmltopdf" -q "file:////tmp/wicked_pdf20130709-23109-1adqx5g.html" "/tmp/wicked_pdf_generated_file20130709-23109-1ic5dbe.pdf"
Error: PDF could not be generated!
Command Error: wkhtmltopdf: cannot connect to X server
):
app/controllers/contrats_controller.rb:15:in `block (2 levels) in show'
app/controllers/contrats_controller.rb:11:in `show'
J'ai essayé de suivre cette réponse : wkhtmltopdf: impossible de se connecter au serveur X mais il ne fonctionne toujours pas.
source d'informationauteur Syl
Vous devez vous connecter pour publier un commentaire.
Ce post m'a aidé à résoudre mon problème :
http://www.stormconsultancy.co.uk/blog/development/generating-pdfs-in-rails-with-pdfkit-and-deploying-to-a-server/
Je suis de reproduire ici l'étape de ce post qui m'a aidé à installer :
Il a aussi créer un initialiseur de dire à pdfKit où il est, donc, cette méthode est pour les méchants PDF et PDF Kit.
Résolu ce problème dans cette bande de roulement https://stackoverflow.com/a/34947479/5320149
J'ai trouvé la méthode pour résoudre ce problème sans faux X server.
Dans la version la plus récente de wkhtmltopdf n'ont pas besoin de serveur X pour le travail, mais il n'en officiel linux dépôts.
Solution pour Ubuntu 14.04.4 LTS (trusty) i386
Solution pour Ubuntu 14.04.4 LTS (trusty) amd64
Vérifier que vous avez
xvfb
installé, ou l'installer à l'aide deapt-get
.install xvfb
Créer un fichier appelé
wkhtmltopdf.sh
et ajoutez les éléments suivants:De modifier les dimensions (640x480x16) pour correspondre quelle que soit virtuel à l'écran paramètres que vous souhaitez émuler.
Déplacer le script shell pour
/usr/bin
et de définir des autorisations:En option, vous pouvez ajouter un lien symbolique dans le répertoire du projet:
Voir cette et cette de référence.