Laravel-Snappy(wkhtmltopdf)正在生成错误的pdf

时间:2016-06-26 12:07:16

标签: php laravel laravel-5 centos wkhtmltopdf

我在CentOS 7(x64)上运行的LEMP堆栈上使用laravel 5.2和laravel-snappy包装器为wkhtmltopdf

所有必需的图书馆&二进制文件安装正确;当我尝试像这样测试PDF生成器时:

Route::get('/test', function()
{
    $snappy = App::make('snappy.pdf');
    $html = '<p>Hello World :)</p><p>This is a <i>HTML</i> test <b>PDF</b>!!!</p>';
    return response($snappy->getOutputFromHtml($html), 200, [
        'Content-Type'         => 'application/pdf',
        'Content-Disposition'  => 'attachment; filename="test.pdf"'
    ]);
});

我收到了PDF,但看起来像这样:

enter image description here

我在Windows上测试了这个(使用windows二进制文件),它完全正常:

enter image description here

当我在Linux环境中尝试时,我之前遇到了这个错误:

  加载共享库时出现

错误:libXrender.so

所以,我安装了这些软件包(按照建议here):

yum install libXrender fontconfig libXext

在此之后,我没有收到任何错误,pdf正在生成但是有正方形。

为什么会出现这种情况?

1 个答案:

答案 0 :(得分:0)

好的,事实证明我需要这些包(特别是字体urw-fonts)。所以,要解决这个错误:

yum install libXrender fontconfig libXext urw-fonts

PDF正在正确生成。