php 分页符在包含长文本的dompdf中不起作用

gr8qqesn  于 2023-04-19  发布在  PHP
关注(0)|答案(1)|浏览(120)

我的代码有一个问题,分页符不能处理长文本。我希望当文本很长时,文本在新的页面中可用。

下面是我尝试过的代码:

<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>
mdfafbf1

mdfafbf11#

在做了一些研究后,据说dompdf不会在table中创建 * 分页符/新页 *。遗憾的是,当在table中做时,你不能做 * 下一页行 。我还在我的评论中包括你可以在div上做 * 换行符/新页 。这会使这样做变得更复杂,但我做了这个sample table on div that can handle long text and make new page**。
你可以参考这个草稿开始做你的项目。
附言

Dompdf不支持在页面之间使用表格单元格/行来创建新页面。这意味着如果表格上的文本太长,它将移动到下一页。此外,表格中的所有数据也将移动到下一页。

正如我在做研究时所了解到的,DOMPDF 正在渲染代码中的每个元素(1 elemen = 1 page)。由于table由(table,head,tbody,tr,th & td)组成,因此它将被视为一个元素。
到目前为止,dompdf 仍然没有修复此问题。reference #1reference #2

相关问题