安装静态二进制版的wkhtmltopdf的帮助

12

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

结果:

一旦安装(请参见以下步骤),当我在终端中执行wkhtmltopdf时,它不会启动...只是将我返回到提示符 - 就像它运行并做了一些事情,没有错误但没有输出:

:/usr/bin$ wkhtmltopdf

:/usr/bin$

如果我输入参数,行为相同:

:/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


确保您使用的是正确的二进制文件。如果不确定,请尝试使用amd64二进制文件,看看是否可以正常工作。 - Greg
你解决过这个问题吗?我也完全遇到了同样的问题! - Joel Murphy
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中。
希望这有所帮助!

1
这不只是将xorg XServer安装到您的计算机上吗?因此,安装仍在使用XServer,对吧? - pcurry
不必安装完整的 X 系统,你可以只安装 libxrender 库:apt-get install libxrender1 - b4d

2

链接http://code.google.com/p/wkhtmltopdf/downloads/list已经失效,没有显示任何文件。 - Andrus

0

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

安装了非静态(带有未修补的QT)版本的wkhtmltopdf,使用“aptitude install wkhtmltopdf”即可正常工作。

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

之后,wkhtmltopdf-amd64显示“找不到libxrender共享库”,这个问题可以通过“aptitude install xorg”来解决。


0

0.11.0_rc1 似乎有 bug。
它一直抛出错误 "Cannot create a QPixmap when no GUI is being used"。
回滚到 0.9.9 对我有用。


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