Come installare wkhtmltopdf su un server web basato su Linux (hosting condiviso)

Ho provato in tutti i modi a far installare wkhtmltopdf sul nostro server web, ma sfortunatamente non viene installato. Non riesco ad accedere alla cartella utente / bin come indicato in un tutorial sull’installazione.

Sul server nella cartella public_html c’è una sottocartella _vti_bin , ho copiato il file wkhtmltopdf-i386 da wkhtmltopdf-0.9.1-static-i386 , ma non sono in grado di eseguirlo.

Come installare wkhtmltopdf su server web (hosting condiviso) e farlo funzionare?

Sono riuscito a installare wkhtmltopdf-amd64 sul mio account di hosting condiviso senza accesso root.

Ecco cosa ho fatto:

Scaricato il file statico binario statico v0.10.0 da qui: http://code.google.com/p/wkhtmltopdf/downloads/list

EDIT: Quanto sopra è stato spostato qui

via ssh sull’host condiviso digitato quanto segue:

$ wget {relavant url to binary from link above} $ tar -xvf {filename of above wget'd file} 

avrai quindi il binario sul tuo host e sarai in grado di eseguirlo indipendentemente dal fatto che sia nella cartella / usr / bin / o meno. (o almeno ero in grado di)

Testare:

 $ ./wkhtmltopdf-amd64 http://www.example.com example.pdf 
  • Nota: ricorda che se ti trovi nella cartella in cui si trova l’eseguibile, dovresti probabilmente farlo ./ da ./ per sicurezza.

Ha funzionato per me comunque

Ubuntu 14.04 / 15.04:

 sudo apt-get install wkhtmltopdf 

Altri

Guarda le altre risposte.

Se la sua ubuntu andrà avanti con questo, già testato.

per prima cosa, installando le dipendenze

 sudo aptitude install openssl build-essential xorg libssl-dev 

per sistema operativo a 64 bit

 wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2 tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2 mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf chmod +x /usr/local/bin/wkhtmltopdf 

per sistema operativo a 32 bit

 wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2 tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2 mv wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf chmod +x /usr/local/bin/wkhtmltopdf 

Le probabilità sono che senza l’accesso completo a questo server (a causa di essere un account ospitato) si avranno problemi. Direi che penso sia uno sforzo infruttuoso: devono bloccare i server in ambienti ospitati per una buona ragione.

Chiama la tua società di hosting e fai la richiesta per installarlo, ma non aspettarti una buona risposta: in genere non installano elementi molto personalizzati per i singoli utenti a meno che non ci sia un buon motivo (correzioni di bug per esempio).

Infine, a seconda di quanto tu sia familiare con l’amministrazione del server e ciò che stai pagando per l’hosting del server ora consideri qualcosa come http://www.slicehost.com . $ 20 al mese ti daranno un server web di bassa qualità (256 ram) e potrai installare tutto ciò che desideri. Tuttavia, se si eseguono più siti o si verifica un carico pesante, il costo aumenterà in base alla necessità di server più grandi.

GL!

Debian 8 Jessie
Questo funziona sudo apt-get install wkhtmltopdf

Posiziona l’eseguibile wkhtmltopdf sul server e chmod it + x.

Creare uno script di shell eseguibile wrap.sh contenente:

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

Scarica gli oggetti condivisi necessari per quell’architettura e posizionali in una cartella denominata “lib”:

  • 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

(alcuni di loro sono symlink)

… e tu sei pronto per andare:

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

Se si verificano problemi di carattere come i quadrati per tutti i caratteri, definire i caratteri TrueType in modo esplicito:

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

Elenco delle versioni stabili wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

Installazione di wkhtmltopdf su 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 

Alcune cose sono cambiate da quando sono state aggiunte le risposte migliori. Lavoravano per me, ma non più, quindi ho continuato a fare un po ‘di hacking e ho trovato la seguente soluzione per Ubuntu 16.04 . Per Ubuntu 14.04, vedere il commento in fondo alla risposta. Ci scusiamo se questo non funziona per l’hosting condiviso, ma sembra che questa sia la risposta goto per le istruzioni di installazione di wkhtmltopdf in generale.

 # 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 

Provalo

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

Ora dovresti avere un file chiamato google.pdf nella directory di lavoro corrente.

Questo approccio scarica il file binario dal sito Web, il che significa che è ansible utilizzare la versione più recente anziché affidarsi ai gestori di pacchetti per essere aggiornati.

Nota che da oggi la mia soluzione include una correzione temporanea a questo bug . Mi rendo conto che la soluzione non è eccezionale, ma spero che possa essere presto rimossa. Assicurati di controllare lo stato del problema GitHub collegato per vedere se la correzione è ancora necessaria quando leggi questa risposta!

Per Ubuntu 14.04, sarà necessario eseguire il downgrade a una versione diversa di libssl. Puoi trovare le versioni qui . Ad ogni modo, assicuratevi di considerare le implicazioni del downgrade di libssl prima di farlo su qualsiasi server di produzione.

Spero che questo aiuti qualcuno!

Hosting condiviso senza accesso a shell o ssh?

Ecco come l’ho fatto;

  1. Visita https://wkhtmltopdf.org/downloads.html e scarica la versione stabile appropriata per Linux. Per il mio caso ho scelto 32-bit che è wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Decomprimi in una cartella sul tuo disco locale.
  3. Carica la cartella su public_html (o in qualsiasi luogo si adatti alle tue necessità) usando un programma FTP come qualsiasi altro file (s)
  4. Cambia i percorsi binari nel file snappy.php per puntare i file appropriati nella cartella che hai appena caricato. Bingo! Ecco qua. Dovresti essere in grado di generare file PDF.

Dopo aver provato, sotto comando lavoro per me

 cd ~ yum install -y xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 openssl git-core fontconfig wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz mv wkhtmltox/bin/wkhtmlto* /usr/bin 

Grazie e saluti

Jaiswar Vipin Kumar R.