Codeigniter使用Dompdf生成PDF 表格每页5条记录分页出现多余0如何解决
DomPDF表格分页多余0问题修复方案
错误原因
出现多余0的核心原因是page-break控制的<p>标签直接插入在了<tbody>和<tr>节点之间,DomPDF解析表格结构时,会将不属于<tr>/<td>包裹的游离内容识别为异常表格内容,最终渲染出多余的0字符。
正确修改方法
删除</tr>之后的独立分页p标签,将分页属性直接绑定到需要分页的行的<tr>元素上,同时排除第一页不需要分页的情况,调整后的完整代码如下:
<table border="1" width="100%" cellpadding="10"> <!-- 加display属性可实现每页自动重复表头 --> <thead style="display: table-header-group;"> <tr> <th>No</th> <th>Part No</th> <th>Price</th> </tr> </thead> <tbody> <?php $i=1; foreach($items as $row): // 仅第6、11...条数据的行前添加分页,跳过第一页首行 $pageBreakStyle = ($i % 5 === 1 && $i !== 1) ? 'style="page-break-before: always;"' : ''; ?> <tr <?php echo $pageBreakStyle; ?>> <td><?php echo $i++ ?></td> <td><?php echo $row->part_no?></td> <td><?php echo $row->price ?></td> </tr> <?php endforeach; ?> </tbody> <!-- 加display属性可实现每页自动重复表尾 --> <tfoot style="display: table-footer-group;"> <tr> <td></td> <td></td> <td><?php echo $total ?></td> </tr> </tfoot> </table>
内容的提问来源于stack exchange,提问作者Jije's Stackoverflow
相关产品推荐
相关产品推荐

