我在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,但看起来像这样:
我在Windows上测试了这个(使用windows二进制文件),它完全正常:
当我在Linux环境中尝试时,我之前遇到了这个错误:
加载共享库时出现错误:libXrender.so
所以,我安装了这些软件包(按照建议here):
yum install libXrender fontconfig libXext
在此之后,我没有收到任何错误,pdf正在生成但是有正方形。
为什么会出现这种情况?
答案 0 :(得分:0)
好的,事实证明我需要这些包(特别是字体urw-fonts
)。所以,要解决这个错误:
yum install libXrender fontconfig libXext urw-fonts
PDF正在正确生成。