【问题标题】:laravel-snappy pdf generation fails with no errorlaravel-snappy pdf 生成失败,没有错误
【发布时间】:2018-01-03 19:04:28
【问题描述】:

我已经按照https://github.com/barryvdh/laravel-snappy 上的说明安装了 laravel-snappy

安装后我测试了 wkhtmltopdf 并且它可以工作:

vagrant@homestead:/usr/local/bin$ /usr/local/bin/wkhtmltopdf google.com /tmp/google.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

我可以确认 pdf 存在:

vagrant@homestead:/tmp$ ls
google.pdf

这是 snappy.php 文件的内容:

return array(


    'pdf' => array(
        'enabled' => true,
        'binary'  => '/usr/local/bin/wkhtmltopdf',
        'timeout' => false,
        'options' => array(),
        'env'     => array(),
    ),
    'image' => array(
        'enabled' => true,
        'binary'  => '/usr/local/bin/wkhtmltoimage',
        'timeout' => false,
        'options' => array(),
        'env'     => array(),
    ),


);

但是,当我在 Controller 中运行它时,什么也没有发生。没有错误信息,也没有生成文件:

function pdfreport($id)

{
    $html = '<h1>hi</h1>';

    $pdf = PDF::loadHTML($html)->setPaper('a4')->setOrientation('portrait');

    return $pdf->download('test.pdf');

}

我期待 pdf 开始下载。可能是什么问题?

【问题讨论】:

    标签: wkhtmltopdf snappy laravel-snappy


    【解决方案1】:

    我通过在没有 laravel 包装器的情况下安装 snappy 来完成这项工作。然后简单地这样做:

    use Knp\Snappy\Pdf;
    
    $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="file.pdf"');
    echo $snappy->getOutput('http://www.github.com');
    

    也许 laravel 包装器有问题。

    【讨论】:

      猜你喜欢
      • 2015-07-27
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2015-07-29
      相关资源
      最近更新 更多