Dompf在laravel的新页面上打印多余的表头

时间:2019-04-03 13:47:03

标签: php laravel-5 dompdf

我正在生成表格形式的学生成绩单,该成绩单将使用Laravel和Dompdf下载到pdf。在表格行和表格数据之前,表格标题在第二页上多次打印。

我添加了

page-break-inside: avoid !important
样式,但仍然存在相同的问题。

以下是代码:

<table style="width: 100%;" class="minimalistBlack">
        <?php $semester = 1 ?>
        <?php $tcl = 0 ?>
        <?php $tgp = 0 ?>
        <?php $cgpa = 0 ?>
        <?php $n = 1 ?>
        @foreach($results as $result)
            <thead>
                <tr>
                 <td colspan="2" style="font-weight: bold;">SESSION:</td>
                    <td style="font-weight: bold;">{{ $result->session->name }}</td>
                    <td colspan="2" style="font-weight: bold;">SEMESTER:</td>
                    <td style="font-weight: bold;">{{ $result->semester->name }}</td>
                </tr>
                <tr>
                    <th>#</th>
                    <th>Course Code</th>
                    <th>Course Title</th>
                    <th style="text-align: center;">Credit Unit</th>
                    <th style="text-align: center;">Grade</th>
                    <th style="text-align: center;">Grade Points</th>
                </tr>
            </thead>

            <tbody>
                <?php $sn = 1 ?>
                <?php $totalGrades = 0 ?>
                <?php $totalCredits = 0 ?>
                @foreach($result->grade as $grade)
                    <tr>
                        <td>{{ $sn }}.</td>
                        <td>{{ $grade->course->code }}</td>
                        <td>{{ $grade->course->name }}</td>
                        <td style="text-align: center;">{{ $grade->course->credit_unit }}</td>
                        <td style="text-align: center;">{{ $grade->grade }}</td>
                        <td style="text-align: center;">{{ calculateGradePoints($grade->grade, $grade->course->credit_unit) }}</td>
                    </tr>
                    <?php $sn++ ?>
                    <?php $totalCredits += $grade->course->credit_unit ?>
                    <?php $totalGrades += calculateGradePoints($grade->grade, $grade->course->credit_unit) ?>
                    <?php $n++ ?>
                @endforeach
                <tr>
                    <td style="font-weight: bold; text-align: right;" colspan="3">TOTAL FOR SEMESTERS</td>
                    <td style="font-weight: bold; text-align: center;">{{ $totalCredits }}</td>
                    <td class="text-center"></td>
                    <td style="font-weight: bold; text-align: center;">{{ $totalGrades }}</td>
                </tr>
                <?php $tcl += $totalGrades ?>
                <?php $tgp += $totalCredits ?>
                <?php $cgpa = $tcl / $tgp ?>
                @if($semester > 1)
                    <tr>
                        <td style="font-weight: bold; text-align: right;" colspan="3">TCL</td>
                        <td style="font-weight: bold; text-align: center; color: blue;" colspan="3">{{ $tcl }}</td>
                    </tr>
                    <tr>
                        <td style="font-weight: bold; text-align: right;" colspan="3">TGP FOR ({{ $result->session->name }} SESSION) - {{ $result->semester->name }}</td>
                        <td style="font-weight: bold; text-align: center; color: green;" colspan="3">{{ formatNumber($tgp) }}</td>
                    </tr>
                    <tr>
                        <td style="font-weight: bold; text-align: right;" colspan="3">CGPA FOR ({{ $result->session->name }} SESSION) - {{ $result->semester->name }}</td>
                        <td style="font-weight: bold; text-align: center; color: red;" colspan="3">{{ formatNumber($cgpa) }}</td>
                    </tr>
                @endif
                <tr>
                    <td colspan="6"></td>
                </tr>
            </tbody>
            <?php $semester++ ?>
            <?php $n++ ?>
        @endforeach
    </table>

我希望表数据显示在第二页上,而不必多次打印表头。

0 个答案:

没有答案