0

我有一个数组,exams其中每个exam都有谁会接受它。namestudent

我正在使用 Laravel 包打印这些考试,并在Blade 模板Snappy PDF中执行@foreach循环以显示和其他信息questions

在每个student/的末尾exam,我会跳转页面(因此,students同一页面中永远不会有两个),如下所示:

@foreach($students as $student)
    <p>Student: $student['name']</p>
    <p>Questions:</p> 
    @foreach($student['questions'] as $question)
        . . . 
    @endforeach
    <div style="page-break-after: always"></div>
@endforeach

我想footer在每个pagePDF 上显示一个并显示考试学生的姓名。我不想每次考试显示一个页脚,而是每页显示一个页脚,并带有正确的学生姓名(单个考试可以有多个页面)。

我知道显示这种页脚的唯一方法是使用 SnappyPDF 的setOption函数,如下所示:

->setOption("footer-right", "Page [page] from [topage]")

有一种方法可以在第二个参数中运行 PHP 代码,例如

->setOption("footer-right", 'Student: {{$some_variable}}')

我可以在哪里更改模板中的$some_variable@foreach,例如使用@php标签?

就像是:

@foreach($students as $student)
    ...
    @php
      $some_variable = $student['name'];
    @endphp
@endforeach

通过这样做,我可以在所有 PDF 页脚中显示正确的学生姓名。

但不幸的是,它似乎setOption从不运行 PHP 代码,它只是在其中设置了一个静态 HTML 模板,不能动态更改。

有没有办法显示这些页脚,使用 HTML 或 SnappyPDF 包?

4

0 回答 0