代码之家  ›  专栏  ›  技术社区  ›  Yogi Yang 007

如何在基于linux的(共享主机)web服务器上安装wkhtmltopdf

  •  59
  • Yogi Yang 007  · 技术社区  · 15 年前

    我已经试过各种方法 wkhtmltopdf文件 安装在我们的网络服务器,但不幸的是,它没有得到安装。我无法访问安装教程中所述的user/bin文件夹。

    公共\u html 文件夹有一个子文件夹 _vti\ U箱 ,我复制了文件 wkhtmltopdf-i386文件 wkhtmltopdf-0.9.1-静态-i386

    wkhtmltopdf文件 在(共享主机)web服务器上,并让它工作?

    10 回复  |  直到 8 年前
        1
  •  51
  •   Stephen Mariano Cabrera    8 年前

    我已经成功地在我的共享主机帐户上安装了wkhtmltopdf-amd64,但没有根访问权限。

    从这里下载了相关的静态二进制v0.10.0: http://code.google.com/p/wkhtmltopdf/downloads/list

    编辑:以上内容已移至 here

    在共享主机上通过ssh键入以下内容:

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

    然后,您的主机上就有了二进制文件,无论它是否在/usr/bin/文件夹中,都可以运行它(或者至少我能做到)

    $ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
    
    • 请注意,如果您在可执行文件所在的文件夹中,您可能应该在其前面加上 ./ 只是想确定一下。

        2
  •  29
  •   Community CDub    4 年前

    sudo 通道

    Ubuntu 14.04/15.04/18.04版本:

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

    看看其他答案。

        3
  •  27
  •   Mohit Jain    13 年前

    如果是ubuntu的话,那就继续这个,已经测试过了--

    sudo aptitude install openssl build-essential xorg libssl-dev
    

    对于64位操作系统

    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
    

    32位操作系统

    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
    
        4
  •  3
  •   Shane    15 年前

    如果没有对此服务器的完全访问权限(由于是托管帐户),您可能会遇到问题。我甚至想说,我认为这是一个徒劳的努力——他们有充分的理由必须在托管环境中锁定服务器。

    打电话给你的托管公司,请求他们安装,但不要期望得到很好的响应——除非有很好的理由(例如错误修复),否则他们通常不会为单个用户安装非常定制的项目。

    最后,取决于您对服务器管理的熟悉程度以及您为服务器托管所付出的代价,现在考虑一些类似的问题。 http://www.slicehost.com . $每月20台将为您提供一台低级web服务器(256 ram),您可以安装任何您想要的东西。但是,如果您正在运行多个站点或负载较重,那么由于您需要更大的服务器,成本将会上升。

    德国劳埃德!

        5
  •  2
  •   Artem Mostyaev    9 年前

    Debian 8杰西
    sudo apt-get install wkhtmltopdf

        6
  •  1
  •   jockie    14 年前

    创建包含以下内容的可执行shell脚本wrap.sh:

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

    • lib/libfontconfig.so.1
    • lib/libfreetype.so.6
    • lib/libfreetype.so.6.3.18版本
    • lib/libX11.so.6 lib/libX11.so.6.2.0版本
    • lib/libxcb.so.1 lib/libxcb.so.1.0.0库
    • lib/libxcb xlib.so.0.0.0库
    • lib/libXdmcp.so.6.0.0版本
    • lib/libXext.so.6 lib/libXext.so.6.4.0版本

    你已经准备好了:

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

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

    稳定版本列表wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

    在Debian 8.2(jessie)x64上安装wkhtmltopdf:

    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
    
        8
  •  1
  •   Kennedy Mwenda    7 年前

    共享主机没有ssh或shell访问?

    我是这样做的;

    1. https://wkhtmltopdf.org/downloads.html 并下载相应的稳定Linux版本。我选择了32位
    2. 解压缩到本地驱动器上的文件夹。
    3. 像其他文件一样,使用FTP程序将文件夹上载到公共html(或任何适合您需要的位置)
    4. 更改snappy.php文件中的二进制路径,以指向刚刚上载的文件夹中的相应文件。
        9
  •  1
  •   ba0708    7 年前

    自从添加了最重要的答案后,有些事情发生了变化。他们曾经为我工作,但不完全是了,所以我一直在黑客周围的一点,并提出了以下解决方案为我 . 对于ubuntu14.04,请参阅答案底部的评论。抱歉,如果这不适用于共享主机,但似乎这是一般的wkhtmltopdf安装说明的goto答案。

    # 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
    

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

    现在应该有一个名为 google.pdf 在当前工作目录中。

    这种方法从网站下载二进制文件,这意味着您可以使用最新版本,而不是依赖包管理器进行更新。

    to this bug . 我意识到这个解决方案确实不太好,但希望它能很快被删除。 一定要检查链接GitHub问题的状态,看看在阅读此答案时是否仍然需要修复!

    对于ubuntu14.04,您需要降级到libssl的另一个版本。你可以 find the versions here

    我希望这能帮助别人!

        10
  •  0
  •   Kirk Beard    4 年前

    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
    
        11
  •  -1
  •   webhead    5 年前

    这个页面帮助我克服了下载DEB文件的困难: http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/

    基本上我做的是:

    1. 下载自 https://wkhtmltopdf.org/downloads.html
    2. 解压了DEB文件。