如何处理CSS中元素之前的分页符?

问题描述 投票:0回答:1

我想在 pdf 的每页上每隔第三个项目分页。为了打破页面,我使用了

page-break-before
属性。但问题是从第二页开始设计就被破坏了。代码如下。

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>DOM-PDF</title>
  </head>
  <body>
    <table style="width:100%;">
        <thead>
            <tr>
                <th>Serial</th>
                <th>Name</th>
                <th>Roll</th>
                <th>Info</th>
            </tr>
        </thead>
        <tbody>
        @php
        $n = 0;
        for($i=0;$i<10;$i++){
        @endphp
            <tr style="text-align:center;">
                <td>1</td>
                <td>Rashedul Hasan</td>
                <td>1208039</td>
                <td>I am an employee.</td>
            </tr>
        
        @php
        if($n==3){
        echo "<i style='page-break-before:always;'></i> ";
        }
        $n++;
        }
        @endphp
        </tbody>
    </table>
  </body>
</html>

这是第 1 页的 pdf 视图

这是第 2 页的 pdf 视图

在第 2 页上,第二行移至右侧。 怎么解决?

css laravel pdf dompdf
1个回答
1
投票

chunks
代替打破桌子怎么样?

{{-- Replace collect()->times(10) with a collection when you're getting the actual data from DB --}}
@foreach (collect()->times(10)->chunk(3) as $chunk)
    <table style="width:100%;">
        <thead>
            <tr>
                <th>Serial</th>
                <th>Name</th>
                <th>Roll</th>
                <th>Info</th>
            </tr>
        </thead>
        <tbody>
            @foreach($chunk as $result)
                <tr style="text-align:center;">
                    <td>{{ $result }}</td>
                    <td>Rashedul Hasan</td>
                    <td>1208039</td>
                    <td>I am an employee.</td>
                </tr>        
            @endforeach
        </tbody>
    </table>
    <i style='page-break-before:always;'></i>
@endforeach
© www.soinside.com 2019 - 2024. All rights reserved.