分页符在带有长文本的 dompdf 中不起作用

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

我的代码有问题,分页符不适用于长文本。我希望当文本很长时,文本可以在新页面中使用。

这是我试过的代码:

 <h6 style="background: #cdcbcb; font-size: 13px; margin: 0px; padding:8px;">RENCANA KEPERAWATAN</h6>
        <table style="table-layout:fixed;" class='table table-bordered'>
            <thead>
                <tr>
                    <th style="width: 30%; overflow: hidden; text-overflow: ellipsis; text-align: center">No</th>
                    <th style="width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: center">Diagnosa Keperawatan</th>
                    <th style="width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: center">Tujuan</th>
                    <th style="width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: center;">Intervensi</th>
                </tr>
            </thead>
            <tbody>
                <?php $no=1; ?>

                @foreach ($data_rencanakeperawatan as $item)
                <tr>
                    <td style="text-align: center">{{$no}}</td>
                    <td>{{$item->diagnosa_keperawatan_rencana}}</td>
                    <td>Setelah dilakukan intervensi keperawatan selama {{ $item->jam }} jam maka {{ $item->keterangan }} dengan kriteria hasil :
                    <?php 
                    $data_kriteria=DB::table('tb_kriteria')->where('id_rencanakeperawatan', $item->id_rencanakeperawatan)->get(); 
                    foreach ($data_kriteria as $value1) {
                    ?>
                        <p>• {{$value1->detail_luarankeperawatan}} ({{$value1->skor_kriteria}})</p>
                    <?php } ?>
                    </td>
                    <td>
                        <?php 
                        $data_intervensi=DB::table('tb_intervensirencana')
                        ->join('m_detailintervensi', 'tb_intervensirencana.id_detailintervensi', '=', 'm_detailintervensi.id_detailintervensi')
                        ->where('tb_intervensirencana.id_rencanakeperawatan', $item->id_rencanakeperawatan)->get(); 
                        $total_text=0; $jml_ket=0; $jml_intervensi=0; $jml=0;
                        foreach ($data_intervensi as $value2) {
                        ?>
                            <b>• {{$value2->keterangan}}{{$jml_ket}}</b><br>
                            {{$value2->dataintervensi}}{{$jml_intervensi}}<br>
                        <?php } ?>
                    </td>
                </tr>
                <?php $no++; ?>
                @endforeach
            </tbody>
        </table>
php laravel dompdf
1个回答
0
投票

经过一些研究,据说 dompdf 不会在表格中创建 分页符/新页面。遗憾的是,你不能在桌子上做下一页行。我还在我的评论中加入了你可以在 div 上做一个 line break/new page。这样做会更复杂,但我在 div 上制作了这个示例表,它可以处理长文本并制作新页面
你可以参考这个草稿开始做你的项目。

附言
Dompdf 不支持在页面之间使用表格单元格/行制作新页面。意思是如果你桌上的文字太长,它会移到下一页。此外,表格内的所有数据也将移动到下一页。

我在做研究时了解到,DOMPDF 正在渲染代码中的每个元素(1 个元素 = 1 页)。由于 table 由 (table,thead,tbody,tr,th & td) 组成,它会被视为一个元素。

截至目前,dompdf 仍未解决此问题。 参考#1 参考#2

© www.soinside.com 2019 - 2024. All rights reserved.