Ignited / Laravel-pdf - 死亡白屏 - 无法生成PDF

时间:2014-03-19 19:33:51

标签: php pdf laravel wkhtmltopdf

这可能是一个非常简单的问题,但我无法让它发挥作用......

我想从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"

有什么想法或我是否超级哑巴?

1 个答案:

答案 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文件。