dompdf page break with codeigniter and foreach loop
To make Pagebreak work with tr
, write a line of css for tr
tr { page-break-inside:avoid; page-break-after:auto }
Try above code.
If not working, then add
table { page-break-inside:auto }
Try this, I am doing reports exactly same way
<?php $nbsp5 = " ";foreach($summary as $summary) { ?> <table width="100%" style="page-break-after:always;"> <tr> <td colspan="10"> <?php echo "<b>Customer</b>: <font color='blue'>".$summary->caccountname; ?> <?php echo "</font>".$nbsp5 ." <b>Order Number</b>: <font color='blue'>".$summary->OrderNum; ?> <?php echo "</font>".$nbsp5 ." <b>Sales rep</b>: <font color='blue'>".$summary->RepName; ?> <?php echo "</font>".$nbsp5 ." <b>Due Date</b>: <font color='blue'>".substr($summary->DueDate,0,10); ?> </td> </tr> <tr> <td colspan="10"><hr></td> </tr> <tr> <td colspan="10"> <table class="sortable" width="90%"> <tr> <td><b>Product</b></td> <td><b>Ordered</b></td> <td><b>Processed</b></td> <td><b>Outstanding</b></td> <td><b>Dispatched</b></td> <td><b>Available (incl FJ)</b></td> <td><b>Available FJ</b></td> </tr> <?php foreach($$linedetails as $linedetails){ ?> <tr> <td><?php echo $linedetails->Product; ?></td> <td><?php echo $linedetails->cubicvolume; ?></td> <td><?php echo $linedetails->Processed; ?></td> <td><?php echo $linedetails->Outstanding; ?></td> <td><?php echo $linedetails->Dispatched; ?></td> <td><?php echo $linedetails->TotalVolume; ?></td> <td><?php echo $linedetails->FJVolume; ?></td> </tr> <?php } ?> </table> </td> </tr> </table><?php } ?>
(first <table>
tag moved inside loop)
Please try this answer for both header and footer.