这可能是一个非常简单的问题,但我无法让它发挥作用......
我想从Blade View生成PDF。
为了做到这一点,我已经通过composer安装了:
"ignited/laravel-pdf": "1.*",
"h4cc/wkhtmltopdf-i386": "*",
"h4cc/wkhtmltopdf-amd64": "*"
我已按以下方式设置我的服务提供商和外墙:
'Ignited\Pdf\PdfServiceProvider',
'PDF' => 'Ignited\Pdf\Facades\Pdf'
我已发布配置设置并尝试了两种配置。
return array(
# Uncomment for 32-bit systems
'bin' => base_path() . '/vendor/h4cc/wkhtmltopdf-i386/bin/wkhtmltopdf-i386'
# Uncomment for 64-bit systems
#'bin' => base_path() . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'
# Add any global Wkhtmltopdf options here
#'no-outline',
#'margin-top' => 0,
#'margin-right' => 0,
#'margin-bottom' => 0,
#'margin-left' => 0,
);
我的控制器如下:
public function getPDF($id)
{
$pdf = PDF::make();
$pdf->addPage('<html><head></head><body><b>Hello World</b></body></html>');
$pdf->send();
}
但是当我访问该页面时,我只是得到一个白色的屏幕。
一旦我最终出现了Hello World,我希望能够将视图传递给它以呈现为PDF。
我的想法是laravel-pdf在dd('helloooo')
之后没有做任何事情,就像我$pdf->send()
一样,当我在浏览器中访问该页面时,我得到string(8) "helloooo"
。
有什么想法或我是否超级哑巴?
答案 0 :(得分:0)
为什么不在app / routes.php文件中尝试这个?
Route::get('pdfhello', function() {
$pdf = PDF::make();
$html = View::make('hello');
$pdf->addPage($html);
$pdf->send('hola.pdf');
});
重要提示:app / view / hello.php中的以下行似乎会引发死亡白屏。
@import url(// fonts.googleapis.com/css?family=Lato:700);
可能一些CSS指令,也许是一些刀片指令,导致无法创建pdf文件。