12

我正在尝试在 Ubuntu 服务器 10.0.4 上使用 wkhtmltopdf 的静态二进制文件。原因是它显然有一个内置的修改过的 QT,它允许我在没有 X 服务器的情况下运行 wkhtmltopdf。

结果:一旦安装(参见下面的步骤),当我在终端中执行 wkhtmltopdf 时,它不会启动......只是让我回到提示符 - 就像它运行并做了什么,没有错误但没有输出:

:/usr/bin$ wkhtmltopdf

:/usr/bin$

如果我输入 args,则行为相同:

:/usr/bin$ wkhtmltopdf http://www.google.com test.pdf

:/usr/bin$

我是不是做错了什么——我的理解是静态二进制文件应该刚刚启动。也许缺少一些依赖?有没有办法获得一些详细的输出?

这些是我遵循的步骤:

在 /usr/bin 中:

1)确认现有的(非静态)wkhtmltopdf 驻留在那里并且它执行。当我在没有参数的情况下执行它时,我会从应用程序中获得帮助/关于输出。

2)将现有的wkhtmltopdf移出目录(重命名)

3)获取静态二进制文件:sudo curl -C - -O http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2

4)解压:tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2

5)重命名:mv wkhtmltopdf-i386 wkthtmltopdf

6)获取(显然)必要的包:sudo apt-get install openssl build-essential xorg libssl-dev

4

4 回答 4

23

我遇到了同样的问题。我删除了现有的wkhtmltopdf并按照以下步骤安装,安装成功。

一、安装依赖

sudo aptitude install openssl build-essential xorg libssl-dev

适用于 64 位操作系统

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.2-static-amd64.tar.bz2

tar xvjf wkhtmltopdf-0.9.2-static-amd64.tar.bz2

chown root:root wkhtmltopdf-amd64

mv wkhtmltopdf-amd64 /usr/bin/wkhtmltopdf

唯一的区别是我把它放在/usr/local/bin/wkhtmltopdf.

我希望这有帮助!

于 2010-10-15T19:58:19.197 回答
2

按照 deb 的回答让它在 Ubuntu 10.04 64bit 上为我工作 - 谢谢!

尽管不是按照 deb 的说明下载 0.9.2,我建议人们通过以下方式下载最新版本:

  1. 转到http://code.google.com/p/wkhtmltopdf/downloads/list
  2. 下载最新版wkhtmltopdf-[版本号]-static-amd64.tar.bz2

此时最新的 64bit 为http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

于 2012-06-10T06:28:23.777 回答
0

0.11.0_rc1 似乎有问题。
它不断抛出错误“没有使用 GUI 时无法创建 QPixmap”。
恢复到 0.9.9 对我有用。

于 2012-07-08T02:09:22.043 回答
0

在我的 debian 服务器中尝试运行 wkhtmltopdf-i386 会导致相同的空白提示。

使用“aptitude install wkhtmltopdf”安装的 wkhtmltopdf 的非静态(带有未打补丁的 QT)版本可以工作。

通过切换到 wkhtmltopdf-amd64 解决了问题,服务器是 64 位的,我错过了。

之后,wkhtmltopdf-amd64 说'libxrender shared library not found',这个问题被“aptitude install xorg”解决了

于 2012-05-01T20:47:30.353 回答