19

我们需要pdf的页眉、页脚、目录和封面等功能,我们希望从html/css生成这些功能。我们在 Windows 上尝试了 WKHTML,它的效果非常棒,当移动到我们的服务器时,我们在我们的 ubuntu 服务器上安装了 WKHTML,安装过程成功,但它只有有限的功能,它能够从 HTML 生成 pdf,但提到的所有功能(即页眉、页脚、目录和封面)不起作用。以下是它产生的错误。

“开关 -t 不支持使用未打补丁的 qt,将被忽略。错误:此版本的 wkhtmltopdf 是针对未打补丁的 QT 版本构建的,不支持多个输入文档。”

我们遵循了许多教程并安装了 QT 补丁,其中一个教程在这里(https://code.google.com/p/wkhtmltopdf/wiki/compilation)。我们不确定我们是否跳过了什么或做错了什么,它已安装并且很少有功能已经开始工作,但不是全部。我们能够生成页眉和页脚,但封面页和目录仍然无法正常工作。我们真正需要的。

4

3 回答 3

33

如果有人遇到类似的问题,我会按照这篇文章解决它。

现在所有功能都运行良好。


文章内容:

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

  1. 删除以前使用 apt-get 安装的 wkhtmltopdf(如果以前安装过)。

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

     sudo apt-get install openssl build-essential xorg libssl-dev
    
  3. 根据架构 (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/
于 2013-09-19T21:56:16.977 回答
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!

于 2017-07-25T23:48:53.210 回答
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/
于 2017-01-19T12:52:47.687 回答