Wkhtmltopdf无法渲染图像

时间:2013-07-09 08:56:56

标签: php image wkhtmltopdf centos6

我正在尝试将网站从我的网站保存为pdf。我能够使用绝对URL使样式表工作,但无论如何都无法呈现图像。

我尝试过使用相对网址,绝对网址 - 甚至是'/ var / www / vhosts ...'服务器路径。没有报告错误,也没有渲染图像。图像所在的空间被折叠,好像它甚至不是代码的一部分!

我尝试过wkhtmltopdf版本:11.0 RC1,10.0 RC2和9.9。运行Cent OS 6.3。

我正在使用PHP类PHP WkHtmlToPdf(http://mikehaertl.github.io/phpwkhtmltopdf/)。我没有尝试在命令行上运行相同的命令,因为我正在呈现的页面受密码保护并使用会话变量。

同一页面在浏览器中完美呈现。

我已经尝试了所有可以找到的解决方案 - 非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

我偶然偶然发现了答案。

我的图片包含在绝对定位的div中,基于百分比的高度和顶部位置。在网站上,包含div有一个已定义的高度,所以这很好。在打印副本上,这个div不再存在,所以它似乎是将图像保持div放在页面上,或者将它的高度降低到0.无论哪种方式 - 将整页大小放在元素周围不仅使图像正确渲染,还纠正了页面上其他绝对定位元素的位置!

答案 1 :(得分:0)

除非在HTML中呈现正常,否则您的图像可能无法显示在PDF上的另一个原因。

如果RewriteEngine on文件中的.htaccess在图片(或其父级)目录中有效,则可能是原因。

要检查此项,请注释掉重写条件,然后重试。

为了达到这一点,我发现curl命令行上的图像有助于解决问题。命令如:

 curl "http://localhost/directory/path/logo.png"

可能会返回Forbidden,并显示“您无权访问此服务器上的权限”等消息