在Ubuntu上安装WKHTMLTOPDF时出现错误

22
我们需要像PDF的页眉、页脚、目录和封面等功能,这些功能需要从HTML/CSS生成。我们在Windows上尝试了WKHTML,它完美地运行了。但是当我们将其移植到我们的服务器时,我们在Ubuntu服务器上安装了WKHTML,安装过程成功,但只有有限的功能,它能够从HTML生成PDF,但所有提到的功能(即页眉、页脚、目录和封面)都无法使用。以下是它产生的错误信息。
“开关-t不支持使用未打补丁的qt,并将被忽略。错误:此版本的wkhtmltopdf是针对未打补丁的QT版本构建的,并且不支持多个输入文档。”
我们按照许多教程进行了安装,使用了经过修补的QT,其中一个教程在这里(https://code.google.com/p/wkhtmltopdf/wiki/compilation)。我们不确定是否有遗漏或做错了什么,它已经安装并且一些功能已经开始工作了,但并不是全部。我们可以生成页眉和页脚,但封面和目录仍然无法工作,而我们真的需要这些功能。
3个回答

34

如果有人遇到类似问题,我通过按照这篇文章修复了它。

现在所有功能都完美地工作。


文章内容:

wkhtmltopdf shell实用程序使用WebKit从HTML生成PDF文档。我已经尝试过一些Ruby gem包装器来使用wkhtmltopdf,但我发现我最喜欢使用wicked_pdf gem。无论您使用什么包装器来调用wkhtmltopdf,以下是在Ubuntu上安装wkhtmltopdf的步骤(非基于Debian的分布需要进行微小调整)。

  1. 如果以前安装了通过apt-get安装的wkhtmltopdf,请卸载它。

 sudo apt-get remove --purge wkhtmltopdf
  • 安装依赖项。

  •  sudo apt-get install openssl build-essential xorg libssl-dev
    
  • 根据架构(i386/amd64)下载静态二进制文件。解压缩后,更改所有者,然后将其复制到 /usr/local/bin。

  •  wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
     tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2
     sudo chown root:root wkhtmltopdf-i386
     sudo cp wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
    

    适用于amd64位

    wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
    sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/
    

    1
    谢谢你发布这个Rasikh,非常有帮助 :-) - Ben Everard
    4
    http://web.archive.org/web/20130608010833/http://wingdspur.com/2012/12/installing-wkhtmltopdf-on-ubuntu - Nick Redmark
    2
    非常感谢!只想强调确保使用与您的体系结构匹配的版本的重要性……我使用的是Ubuntu amd 64,但安装了i386版本,它没有给出任何错误,但也没有做任何事情……非常具有欺骗性。希望这能帮助到某些人! :-) - Stenio Ferreira
    2
    使用这个答案,我通过从网站http://wkhtmltopdf.org/downloads.htm下载最新版本并删除旧版本来解决了问题。 - artifex_knowledge
    Artifex的链接应该以html结尾-这样它仍然可以正常工作。 - JosephK

    10

    对于那些现在正在尝试的人,download.gna.org的网址不再有效,但之前的回答仍然有效:我只需使用新位置进行安装:

    wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
    sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/
    

    我刚在一台Ubuntu 16.04.2机器上完成了此操作。感谢原来的回答,Rasikh!


    8

    由于我无法评论,因此这里是针对Ubuntu 64位正确答案的新第3点。感谢@Rasikh Mashhadi提供的帮助。

    wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/
    

    1
    经过几天的寻找解决方案,我用这个方法解决了它。谢谢!!! - Andru1989

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接