【问题标题】:how to download PDF in laravel 5.4?如何在 laravel 5.4 中下载 PDF?
【发布时间】:2017-08-14 14:47:46
【问题描述】:

我正在尝试从数据库中获取数据并将这些数据传递给 pdf 视图并下载它。

我试过这段代码,但它不起作用:

<a href="{{url('/download-PDF/'.$eventData->id)}}" class="btn btn-danger pull-right">Download PDF </a>

路线

Route::get('download-PDF/{id}', 'PDFController@pdf');

控制器

class PDFController extends Controller
{
public function pdf($id){
    $getEvent=Event::find($id);
    $eventId=$getEvent->id;


    if(isset($eventId)) {

        $eventData = Event::where('id', $eventId)->first();
        $getDays = Day::where('event_id', $eventId)->get();
        for ($i = 0; $i < count($getDays); $i++) {
            $dayId = $getDays[$i]->id;
            $schedule[$i] = DaySchedule::where('day_id', $dayId)->get();
        }

    }

    $pdf=PDF::loadView('pdf',['eventData' => $eventData, 'schedule' => $schedule]);

    return $pdf->download('event.pdf');
}
}

配置

'providers' => [
  Barryvdh\DomPDF\ServiceProvider::class,
 ]

 'aliases' => [
 'PDF' => Barryvdh\DomPDF\Facade::class,
  ]

【问题讨论】:

  • 你遇到了什么错误?
  • 它执行了一段时间然后得到这个错误Maximum execution time of 60 seconds exceeded
  • 这不一定能解决你的问题,但如果你知道你将能够在生产服务器上执行二进制文件,我发现 barryvdh/laravel-snappy 要好得多(比 DomPDF 更好的渲染)。

标签: laravel pdf laravel-5 laravel-5.4


【解决方案1】:

你有什么异常吗?

这是我用来生成 pdf 的代码:

控制器:

public function generateReport(TimetableRequest $request, $id) {
    $reportData = $this->prepareReportData($id, $request->startDate, $request->endDate);
    $pdf = App::make('dompdf.wrapper');
    $pdf->loadView('pdf.report', $reportData);
    return $pdf->download('report.pdf');
}

配置

'providers' => [
    ...
    Barryvdh\DomPDF\ServiceProvider::class,
    ],

'aliases' => [
    'App' => Illuminate\Support\Facades\App::class,
    ...
    'PDF' => Barryvdh\DomPDF\Facade::class,
    ]

路线

Route::get('projects/{id}/report', 'Controller@generateReport');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多