J'utilise wkthmltopdf pour convertir du HTML en documents PDF à la volée sur mon serveur Web Linux. À l'origine, le programme avait besoin d'un serveur X11 ou d'un serveur X similaire pour fonctionner correctement, mais à travers de nombreuses demandes de développeurs pour que cela s'exécute sur des serveurs sans interface graphique, je suis presque sûr qu'il exécute un serveur X virtuel dans la version statique . J'utilise la version statique (autonome) du programme et cela fonctionne très bien! Je mettrais le fichier exécutable dans un dossier et exécuterais:
./wkhtmltopdf file1.html file2.pdf
Cependant, je voudrais installer ce programme à l'échelle du système. J'ai utilisé le apt-get install wkhtmltopdf
(juste installé hier) et comme je fonctionne sur un système 64 bits, j'en avais également besoin apt-get install ia32-libs
. Après l'installation, je peux trouver la version comme ceci:
wkhtmltopdf --version
production:
Name:
wkhtmltopdf 0.9.9
License:
Copyright (C) 2008,2009 Wkhtmltopdf Authors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Authors:
Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
Bouthenot.
Maintenant, lorsque j'essaye d'exécuter le programme installé via aptitude, j'obtiens l'erreur suivante:
wkhtmltopdf: cannot connect to X server
Quelqu'un sait-il comment je peux résoudre ce problème? Je suppose qu'il manque un serveur X virtuel ou quelque chose dans cette version.
la source
/usr/bin/
répertoire, vous pouvez l'utiliser de n'importe où. Ils ont ajouté un serveur x virtuel à l'exécutable statique, donc pas besoin de créer le script wrapper.If you get the error "Cannot connect to X server" then continue to number 6.
signifie la déclaration au numéro 6 ? Je suis très confus par cela. Voulez-vous dire de continuer au numéro 7?Cela a résolu le problème pour moi:
la source
sudo yum install xorg-x11-server-Xvfb
resp.sudo dnf install xorg-x11-server-Xvfb
.J'ai essayé de le faire
sudo apt-get install wkhtmltopdf
mais sans succès. Au lieu de cela, je vous recommande d'essayer:Téléchargez le dernier exécutable (.11 rc1):
wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
décompressez-le:
tar -vxf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
renommez-le:
mv wkhtmltopdf-i386 wkhtmltopdf
chmod en exécutable:
chmod a+x wkhtmltopdf
placez-le dans / usr / bin:
sudo mv wkhtmltopdf /usr/bin
la source
https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
Je viens de le faire:
1- Pour télécharger les dépendances wkhtmltopdf
# apt-get install wkhtmltopdf
2- Télécharger depuis la source
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/xxx.deb
# dpkg -i xxx.deb
3- Essayez
# wkhtmltopdf http://google.com google.pdf
Il fonctionne bien
Ça marche!
la source
apt-get install -f
après avoir installé le package pour obtenir les dépendances. Sinon a fonctionné comme un charme. Préférez beaucoup cette méthode aux autres décrites.wget -q http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
suivi desudo dpkg --install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo mv wkhtmltopdf /usr/bin
partir du/usr/local/bin/
répertoire, mais cela a très bien fonctionné! J'ai essayé toutes les autres méthodes sur cette page sans chance avant la main ..J'ai trouvé une méthode pour résoudre ce problème sans faux serveur X. Dans la dernière version de wkhtmltopdf, vous n'avez pas besoin de serveur X pour travailler, mais ce n'est pas le cas dans les référentiels Linux officiels.
Solution pour Ubuntu 14.04.4 LTS (fidèle) i386
Solution pour Ubuntu 14.04.4 LTS (fidèle) amd64
L'utilisateur felixhummel a une très bonne solution, mais le référentiel avec l'utilitaire a changé.
la source
Poursuivre la réponse de Timothy ...
Si vous êtes un développeur Web souhaitant utiliser wkhtmltopdf dans le cadre de votre application Web, vous pouvez simplement l'installer dans votre
/usr/bin/
dossier comme suit:Vous pouvez maintenant l'exécuter n'importe où en utilisant
wkhtmltopdf
.J'utilise personnellement la bibliothèque Snappy en PHP. Voici un exemple de la facilité de création d'un PDF:
la source
Mise à jour vers la dernière version wkhtmltopdf de SourceForge (0.12 à ce jour). Il n'a pas besoin d'un serveur X pour fonctionner.
Exemple pour Ubuntu 14.04:
la source
pour 14.04.1-Ubuntu https://wkhtmltopdf.org/downloads.html
la source
la source
Le problème est probablement dans l' ancienne version de wkhtmltopdf - la version 0.9 du référentiel de distribution nécessite l'exécution du serveur X, mais la version actuelle - 0.12.2.1 ne l'exige pas - peut fonctionner sans tête.
Téléchargez le package pour votre distribution à partir de http://wkhtmltopdf.org/downloads.html et installez-le - pour Ubuntu:
la source
wkhtmltopdf
>0.11
n'a pas ceX-server
problème.Donc installation
0.12.2.1
sur un serveur Linux.Lors de la première installation du serveur xvfb:
Obtenez la version nécessaire de wkhtmltopdf sur http://wkhtmltopdf.org/downloads.html
Installez wkhtmltopdf:
ou installer avec
wget
Installez la dépendance (si nécessaire):
Créez un lien symblique dans
/usr/local/bin/
:Maintenant, essayez ci-dessous et cela devrait fonctionner,
la source
Je viens de comprendre que je peux simplement déplacer l'exécutable statique vers le
/usr/bin/
répertoire et l'exécuter de n'importe où.la source
Il est recommandé d'utiliser au moins 0.12.2.1.
À partir de wkhtmltopdf> = 0.12.2, il ne nécessite plus de serveur X ni d'émulation. Vous pouvez télécharger la nouvelle version sur http://wkhtmltopdf.org/downloads.html
la source
J'ai suivi les instructions ici et j'ai fait fonctionner wkhtmltopdf pour moi, mais j'aimerais offrir un peu de perspective que j'ai découvert en faisant ma propre petite danse avec
wkhtmltopdf
-xvfb
.Ceci est important car la même raison qui lui fait lever la tristement célèbre
cannot connect to X server
erreur entraîne également son exécution avec des limitations de sévérité même si vous lui fournissez un serveur X. Ces limitations incluent l'impossibilité de prendre plusieurs sources d'entrée, de définir l'en-tête et les pieds de page, etc. (consultez la section Fonctionnalité réduite du manuel ).wkhtmltox
en soi, il ne nécessite pas de X11, mais il utilise des bibliothèques QT qui le font. Dans les nouvelles versions de wkthmltox, les développeurs ont créé un correctif pour QT qui lui permet de fonctionner avec un X11.Actuellement, certaines versions sont construites avec QT patché et d'autres non. Vous pouvez vérifier votre version en exécutant
wkhtmltopds --version
. Il devrait y avoir une ligne à la fin disantCompiled against wkhtmltopdf patched qt.
Donc, pour conclure, si vous installez et utilisez une version qui utilise les bibliothèques corrigées, cela devrait fonctionner sur un serveur Linux sans
xvfb
serveur, comme je peux le confirmer.la source
solution pour Centos7 :
Nous rencontrons ce problème à l'intérieur des conteneurs docker et l'installation ci-dessus a wkhtmltopdf avec QT corrigé
la source
sudo rpm -Uvh https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
Faites attention: votre fichier pourrait être
wkhtmltopdf.sh
ouwkhtmltopdf
, vérifiez-le à la deuxième étapeVous devez le copier dans le répertoire: / usr / local / bin , assurez-vous qu'il est exécutable et ajoutez le lien symbolique de wkhtmltopdf.sh comme:
1- la commande:
2 - insérez le binaire dans le répertoire / usr / bin afin que le navigateur ne puisse pas avoir la permission de s'exécuter dans ce répertoire. Vous devez copier le wkhtmltopdf.sh dans le répertoire / usr / local / bin car le navigateur a l'autorisation dans ce répertoire comme:
3 - Après make sur le binaire a la permission d'exécution comme:
4 - alors maintenant vous pouvez tester, cela fonctionne comme:
il fait télécharger le pdf dans le répertoire courant de votre terminal
5 - Facultatif maintenant, vous pouvez ajouter un lien symbolique dans votre répertoire / usr / local / bin comme
la source
/usr/bin/
/usr/bin/wkhtmltopdf
wkhtmltopdf http://www.google.com test.pdf
indice: informations détaillées à partir de ce lienla source
Installez simplement une version 0.12.4 ou supérieure. Cela semble résoudre le problème.
Voir Comment puis-je installer la dernière version de wkhtmltopdf sur Ubuntu 16.04? .
la source
Si vous configurez wkhtmltopdf pour Rails ou Somethings dans Centos, vous pouvez suivre ces étapes ci-dessous:
Dans le serveur centos bash.
wget link_of_wkhtmltopdf_rpm.rpm
rpm -ivh link_of_wkhtmltopdf_rpm.rpm
which wkhtmltopdf
=> Vous obtiendrez le chemin de wkhtmltopdf.
Configuration pour wicked_pdf ou pdfkit avec chemin à l'étape 4. Ceci est un exemple de configuration avec wickedpdf. config / initialiseurs / wicked_pdf.rb
Redémarrez le serveur.
TERMINÉ.
la source
Pour une utilisation 64 bits:
la source
Dites simplement au backend Qt de ne pas utiliser X:
la source