在pdf的不同页面中显示每个列表项

时间:2018-06-15 16:08:58

标签: php laravel

我有这个查询,我正在使用包" https://github.com/barryvdh/laravel-dompdf"以pdf格式显示结果:

public function getRegistrationInfo($regID){
    $registration = Registration::with('conference',Conference.registrationTypes','Conference.registrationTypes.participants')
            ->where('id',$regID)->first();

    $pdf = PDF::loadView('pdf.registration', compact('registration'));

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

在视图中" pdf.registration"我有这个来显示查询结果:

@foreach($registration->conference->registrationTypes as $key=>$registrationType)

        <li>
            <span>show the registration ID here : {{$registration->id}}</span> <br>
            <span>Conference name {{$registration->conference->name}}</span><br>
            <span>Registration type: {{$registration->conference->registrationTypes[$key]['name']}}</span><br>
            <span> Participant: {{$registration->conference->registrationTypes[$key]
            ->participants[0]->name .' '.$registration->
            conference->registrationTypes[$key]->participants[0]->surname}}</span><br>
            <span>Price: {{$registration->conference->registrationTypes[$key]['price']}}</span><br>
        </li>

    @endforeach

当用户点击按钮下载pdf时,它的工作正在下载pdf。现在它返回2个结果,2个列表项,并且这两个列表项都出现在pdf的第一页上。但我希望将每个列表项放在pdf的一页中。你知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

您可以使用页面下方的html和css进行分页 -

将以下html放在您想要分页的地方。

<div class="breakNow"></div>

在你的css代码中:

div.breakNow { page-break-inside:avoid; page-break-after:always; }

在此之后,您的pdf也应该包含下一页的内容。