66 Stimmen

Wie installiert man wkhtmltopdf auf einem linuxbasierten Webserver (Shared Hosting)?

Ich habe mit allen Mitteln versucht, die wkhtmltopdf auf unserem Webserver installiert, aber leider wird es nicht installiert. Ich kann nicht auf den Ordner user/bin zugreifen, wie in einem Tutorial zur Installation angegeben.

Auf dem Server in public_html Ordner gibt es einen Unterordner _vti_bin Ich habe die Datei wkhtmltopdf-i386 de wkhtmltopdf-0.9.1-static-i386 aber ich bin nicht in der Lage, sie auszuführen.

Wie installieren? wkhtmltopdf auf einem (gemeinsam genutzten) Webserver zu installieren und zum Laufen zu bringen?

3voto

Letztes Update für CentOS:

  • sudo yum install -y libpng libjpeg openssl icu libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi
  • wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
  • tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar
  • sudo mv wkhtmltox/bin/* /usr/local/bin/
  • den Erfolg der Installation überprüfen: wkhtmltopdf -V
  • rm -rf wkhtmltox
  • rm -f wkhtmltox-0.12.4_linux-generic-amd64.tar

1voto

jockie Punkte 19

Legen Sie die ausführbare Datei wkhtmltopdf auf dem Server ab und ändern Sie sie mit chmod +x.

Erstellen Sie ein ausführbares Shell-Skript wrap.sh, das Folgendes enthält:

#!/bin/sh
export HOME="$PWD"
export LD_LIBRARY_PATH="$PWD/lib/"
exec $@ 2>/dev/null
#exec $@ 2>&1 # debug mode

Laden Sie die benötigten gemeinsamen Objekte für diese Architektur herunter und legen Sie sie in einem Ordner namens "lib" ab:

  • lib/libfontconfig.so.1
  • lib/libfontconfig.so.1.3.0
  • lib/libfreetype.so.6
  • lib/libfreetype.so.6.3.18
  • lib/libX11.so.6 lib/libX11.so.6.2.0
  • lib/libXau.so.6 lib/libXau.so.6.0.0
  • lib/libxcb.so.1 lib/libxcb.so.1.0.0
  • lib/libxcb-xlib.so.0
  • lib/libxcb-xlib.so.0.0.0
  • lib/libXdmcp.so.6
  • lib/libXdmcp.so.6.0.0
  • lib/libXext.so.6 lib/libXext.so.6.4.0

(einige von ihnen sind Symlinks)

und schon kann es losgehen:

./wrap.sh ./wkhtmltopdf-amd64 --page-size A4 --disable-internal-links --disable-external-links "http://www.example.site/" out.pdf

Wenn Sie Probleme mit der Schriftart haben, z. B. Quadrate für alle Zeichen, definieren Sie explizit TrueType-Schriftarten:

@font-face {
  font-family:Trebuchet MS;
  font-style:normal;
  font-weight:normal;
  src:url("http://www.yourserver.tld/fonts/Trebuchet_MS.ttf");
  format(TrueType);
}

1voto

Akairis Punkte 407

Liste der stabilen Versionen von wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

Installation von wkhtmltopdf auf Debian 8.2 (jessie) x64:

sudo apt-get install xfonts-75dpi
sudo apt-get install xfonts-base
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-jessie-amd64.deb

1voto

Kennedy Mwenda Punkte 23

Shared Hosting ohne ssh- oder Shell-Zugang?

Ich habe es folgendermaßen gemacht;

  1. Besuchen Sie https://wkhtmltopdf.org/downloads.html und laden Sie die entsprechende stabile Version für Linux herunter. In meinem Fall habe ich die 32-Bit-Version das ist wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Entpacken Sie die Datei in einen Ordner auf Ihrem lokalen Laufwerk.
  3. Laden Sie den Ordner mit Hilfe eines FTP-Programms wie jede andere Datei in public_html (oder an einen anderen geeigneten Ort) hoch.
  4. Ändern Sie die Binärpfade in der Datei snappy.php so, dass sie auf die entsprechenden Dateien in dem Ordner verweisen, den Sie gerade hochgeladen haben. Bingo! da haben Sie es. Sie sollten nun in der Lage sein, PDF-Dateien zu erzeugen.

1voto

ba0708 Punkte 9544

Seit dem Hinzufügen der Top-Antworten haben sich ein paar Dinge geändert. Früher haben sie bei mir funktioniert, aber jetzt nicht mehr ganz, also habe ich ein bisschen herumprobiert und bin auf die folgende Lösung für Ubuntu 16.04 . Für Ubuntu 14.04, siehe den Kommentar am Ende der Antwort. Bitte entschuldigen Sie, wenn dies für Shared Hosting nicht funktioniert, aber es scheint, dass dies die richtige Antwort für die Installationsanweisungen von wkhtmltopdf im Allgemeinen ist.

# Install dependencies
apt-get install libfontconfig \
    zlib1g \
    libfreetype6 \
    libxrender1 \
    libxext6 \
    libx11-6

# TEMPORARY FIX! SEE: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
apt-get install libssl1.0.0=1.0.2g-1ubuntu4.8
apt-get install libssl-dev=1.0.2g-1ubuntu4.8

# Download, extract and move binary in place
curl -L -o wkhtmltopdf.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xf wkhtmltopdf.tar.xz
mv wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf

Probieren Sie es aus:

wkhtmltopdf http://www.google.com google.pdf

Sie sollten nun eine Datei namens google.pdf im aktuellen Arbeitsverzeichnis.

Bei diesem Ansatz wird die Binärdatei von der Website heruntergeladen, was bedeutet, dass Sie die neueste Version verwenden können, anstatt sich darauf zu verlassen, dass die Paketmanager aktualisiert werden.

Beachten Sie, dass meine Lösung ab heute eine vorübergehende Lösung enthält zu diesem Fehler . Mir ist klar, dass die Lösung wirklich nicht toll ist, aber hoffentlich kann sie bald entfernt werden. Prüfen Sie den Status des verlinkten GitHub-Themas, um zu sehen, ob die Korrektur noch notwendig ist, wenn Sie diese Antwort lesen!

Für Ubuntu 14.04 müssen Sie ein Downgrade auf eine andere Version von libssl durchführen. Sie können Hier finden Sie die Versionen . In jedem Fall sollten Sie die Auswirkungen eines Downgrades von libssl bedenken, bevor Sie dies auf einem Produktionsserver durchführen.

Ich hoffe, das hilft jemandem!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X