27/11/2012, 05:09
|
| | | Fecha de Ingreso: noviembre-2012 Ubicación: Madrid
Mensajes: 59
Antigüedad: 12 años, 2 meses Puntos: 10 | |
Respuesta: Separar array en varias páginas para crear factura en pdf Tendrías que utilizar bucles para aplicar pagebreak y una condición:
$total_lines = count($invoice_lines);
if($total_lines > 7){ //La condición SI el total de líneas es mayor a 7
$total_lines = floor(($total_lines / 11)) +1; // total de lineas partido por el limite en este caso 11, y para aplicar el total de factura es el +1
}
$count_page=1;
foreach ($invoice_lines as $invoice_line) {
if($count_page > 0 && $count_page < $total_lines){
echo '<pagebreak type="ODD" odd-footer-name="html_myfooter2" odd-footer-value="1">';
}
echo $invoice_line->name."--".$invoice_line->quantity."--".$invoice_line->price;
if($count_page > 0 && $count_page < $total_lines){
echo '</pagebreak>';
}
$count_page++;
}
Esto es un ejemplo si lo utilizas no te va a funcionar pero está sería la idea que me imagino que buscas, aplicandolo al primer ejemplo:
29 lineas, tendría 1 hoja de 11, otra de 11 y otra de 7 con el total.
El total de líneas al ser mayor que 7 realiza la division de (29/11=2,63.. + 1 ), saldría 3 páginas incluyendo el total y eso se aplica con condiciones a pagebreak.
Lo que faltaría es realizar el contador de líneas dentro del bucle para que los pagebreak se impriman después de 11.
Espero haberte ayudado.
Saludos. |