无法在Laravel 5.8中下载PDF

时间:2019-09-09 08:16:41

标签: php laravel laravel-5.8

我想向laravel 5.8应用程序添加pdf文件下载功能。找到了一个相当简单直接的软件包laravel-dompdf,并遵循了说明文件,但是当我打电话给uri下载文件时,没有文件被下载。在chrome和firefox上进行了测试,并得到了错误

  

最长执行时间超过60秒

这是我到目前为止所做的

  1. composer require barryvdh/laravel-dompdf
  2. Barryvdh\DomPDF\ServiceProvider::class,添加到config.app中的提供者数组中,并将'PDF' => Barryvdh\DomPDF\Facade::class,添加到别名数组中,像这样
'providers' => [

    /*
        * Laravel Framework Service Providers...
        */
    ...

    /*
        * Package Service Providers...
        */
    Spatie\Permission\PermissionServiceProvider::class,
    Barryvdh\DomPDF\ServiceProvider::class,

    /*
        * Application Service Providers...
        */
    ...
],

'aliases' => [

    // others
    'PDF' => Barryvdh\DomPDF\Facade::class,

],
  1. 然后在我的控制器中,我编写了用于处理pdf下载的函数
public function getReceipt(Order $order)
{
    $pdf = PDF::loadView('receipt');

    return $pdf->download('receipt.pdf');
}
  1. 最后是web.php中用于下载Route::get('orders/{order}/receipt', 'OrderController@getReceipt');的路由

我错过了使用此软件包的步骤吗?希望熟悉此软件包的任何人都能为您提供帮助。

2 个答案:

答案 0 :(得分:0)

您可以简单地增加执行时间。通过使用 set_time_limit(300);或检查CSS可能太复杂或正在导入批量模块。

答案 1 :(得分:0)

事实证明,只需将我的代码移动到运行apache的登台环境中,我就可以下载。这么简单。