Como instalar o wkhtmltopdf em um baseado em linux (shared hosting) servidor web

StackOverflow https://stackoverflow.com/questions/2273534

  •  20-09-2019
  •  | 
  •  

Pergunta

Eu tentei de todas as maneiras para obter wkhtmltopdf instalado em nosso servidor web, mas infelizmente ele não está instalado.Eu não o acesso do usuário/bin, como afirmou em um tutorial sobre a instalação.

No servidor no public_html pasta é uma pasta de sub-rotina _vti_bin, Eu copiei o arquivo wkhtmltopdf-i386 a partir de wkhtmltopdf-0.9.1-estática-i386, mas eu não sou capaz de executá-lo.

Como instalar wkhtmltopdf em (shared hosting) servidor web e começar a trabalhar?

Foi útil?

Solução

Consegui instalar com sucesso o WKHTMLTOPDF-AMD64 na minha conta de hospedagem compartilhada sem acesso root.

Aqui está o que eu fiz:

Baixou o binário estático relevante v0.10.0 daqui: http://code.google.com/p/wkhtmltopdf/downloads/list

Editar: o acima se moveu para aqui

via ssh no meu host compartilhado digitou o seguinte:

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

Você terá o binário em seu host e poderá executá -lo independentemente de se estiver na/usr/bin/pasta ou não. (ou pelo menos eu pude)

Testar:

$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
  • Note Lembre -se de que, se você está na pasta em que o executável está, provavelmente deve prefácio com ./ só pra ter certeza.

Trabalhou para mim de qualquer maneira

Outras dicas

Se você tem sudo Acesso...

Ubuntu 14.04 / 15.04 / 18.04:

sudo apt-get install wkhtmltopdf
# or
sudo apt install wkhtmltopdf

Outros

Veja as outras respostas.

Se é o Ubuntu, então vá em frente com isso, já testado .:--

Primeiro, instalando dependências

sudo aptitude install openssl build-essential xorg libssl-dev

Para 64Bits OS

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

Para 32Bits OS

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

As chances são de que, sem acesso total a esse servidor (devido a uma conta hospedada), você terá problemas. Eu chegaria ao ponto de dizer que acho que é um empreendimento infrutífero-eles precisam bloquear servidores em ambientes hospedados por um bom motivo.

Ligue para sua empresa de hospedagem e faça a solicitação para instalá-la, mas não espere uma boa resposta-eles normalmente não instalam itens muito personalizados para usuários únicos, a menos que haja um bom motivo (correções de bugs, por exemplo).

Por fim, dependendo de quão familiar você está com a administração do servidor e o que você está pagando pela hospedagem de servidores agora considere algo como http://www.slicehost.com. US $ 20 por mês lhe darão um servidor da Web de baixa qualidade (256 RAM) e você pode instalar o que quiser. No entanto, se você estiver executando vários sites ou tiver carga pesada, o custo aumentará, pois você precisar de servidores maiores.

GL!

Debian 8 Jessie
Isso funcionasudo apt-get install wkhtmltopdf

Coloque o executável wkhtmltopdf no servidor e chmod It +x.

Crie um script de shell executável Wrap.sh contendo:

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

Faça o download dos objetos compartilhados necessários para essa arquitetura e coloque -os uma pasta A chamada "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

(Alguns deles são simplificadores)

… E você está pronto para ir:

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

Se você tiver problemas de fonte, como quadrados para todos os personagens, defina explicitamente as fontes TrueType:

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

Lista de versões estáveis wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

Instalando o wkhtmltopdf no 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

Algumas coisas mudaram desde que as respostas superiores foram adicionadas. Eles costumavam malhar para mim, mas não mais, então eu tenho hackear um pouco e inventei a seguinte solução para Ubuntu 16.04. Para o Ubuntu 14.04, consulte o comentário na parte inferior da resposta. Desculpas se isso não funcionar para hospedagem compartilhada, mas parece que essa é a resposta Goto para as instruções de instalação WKHTMLTOPDF em geral.

# 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

Teste:

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

Agora você deveria ter um arquivo chamado google.pdf no diretório de trabalho atual.

Essa abordagem baixa o binário do site, o que significa que você pode usar a versão mais recente, em vez de confiar nos gerentes de pacotes para serem atualizados.

Observe que até hoje, minha solução inclui uma correção temporária para este bug. Sei que a solução não é realmente ótima, mas espero que possa ser removida em breve. Certifique -se de verificar o status do problema do Github vinculado para ver se a correção ainda é necessária quando você lê esta resposta!

Para o Ubuntu 14.04, você precisará fazer o downgrade para uma versão diferente do LIBSSL. Você pode Encontre as versões aqui. De qualquer forma, considere as implicações de rebaixar o LIBSSL antes de fazê -lo em qualquer servidor de produção.

Espero que isso ajude alguém!

Depois de tentar, abaixo do trabalho de comando para mim

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

Obrigado e cumprimentos

Jaiswar Vipin Kumar R.

Hospedagem compartilhada sem acesso ssh ou shell?

Aqui está como eu fiz isso;

  1. Visita https://wkhtmltopdf.org/downloads.html e baixe o lançamento estável apropriado para o Linux. Para o meu caso, escolhi 32 bits, que é wkhtmltox-0.12.4_linux-generic-i386.tar.xz
  2. Descompacte em uma pasta em sua unidade local.
  3. Carregue a pasta para public_html (ou qualquer local atenda à sua necessidade) usando um programa FTP, como qualquer outro (s) arquivo (s)
  4. Altere os caminhos binários no arquivo snappy.php para apontar os arquivos apropriados na pasta que você acabou de enviar. Bingo! Aí está. Você deve gerar arquivos PDF.

A versão 12.5 do WKHTMLTOPDF lista apenas os arquivos Deb em sua página de download agora. Sendo um usuário do Mac e não conhecendo muito o Linux ou quais foram os arquivos Deb, eu não podia usar as soluções publicadas.

Esta página me ajudou a superar a reviravolta conhecida de baixar um arquivo Deb: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

Basicamente, o que eu fiz foi:

  1. Baixado de https://wkhtmltopdf.org/downloads.html
  2. Descompactado o arquivo Deb.
  3. Datas.tar.xz descompactados
  4. Carregou o binário na pasta 'USR' descompactada da etapa 3 (USR/local/bin/wkhtmltopdf)

Então eu descobri que a função 'Exec' estava desativada no meu host. Portanto, verifique se você pode executar especificamente 'Exec' se estiver usando o PHP para executar isso. "Posso executar o binário wkhtmltopdf" não é específico o suficiente. Minha culpa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top