【问题标题】:saving generated pdf in public file using Barryvdh\Snappy package使用 Barryvdh\Snappy 包将生成的 pdf 保存在公共文件中
【发布时间】:2017-01-17 14:04:25
【问题描述】:

我尝试使用 laravel 5.2 将生成的 pdf 保存在公用文件夹中,但它不起作用,下面是我的代码:

$path = base_path('public/uploads/files/');
$pdf_name = time().'.pdf';
PDF::loadView('pdf.pdf', [ 'data' => $data ])->save($path.$pdf_name);

这是我得到的错误:

WindowsPipes.php 第 137 行中的 FatalErrorException: 超过 60 秒的最大执行时间

【问题讨论】:

  • 您的视图名称是什么?pdf.blade.phppdf 文件夹内 views 文件夹内?
  • 你能发布你的 pdf.blade.php 视图吗?
  • 视图是视图文件夹pdf子文件夹中的pdf.blade.php:<table border="1" width="600px" cellspacing="0" cellpadding="0" style="border-collapse: collapse;"> <tr> <td width="300px" style="vertical-align: top; line-height: 0.5px; padding-left: 3px;"> </br> <h3>Details</h3></br> <h4>Email: {{$data ['email'] }}</h4></br> <h4>Amount: {{$data ['amount']}}</h4></br> </td> </tr> </table>

标签: php laravel pdf


【解决方案1】:

参考这个问题:https://github.com/barryvdh/laravel-snappy/issues/129

要解决此问题,请在 config/snappy.php 文件中将超时设置为 3600,如下所示:

'pdf' => array(
        'enabled' => true,
        'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
        'timeout' => 3600,
        'options' => array(),
        'env'     => array(),
    ),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2017-02-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2014-03-28
    相关资源
    最近更新 更多