Foros del Web » Programando para Internet » PHP »

PHP+DOMPDF problema saltos de pagina

Estas en el tema de PHP+DOMPDF problema saltos de pagina en el foro de PHP en Foros del Web. Hola a todos, Cuando genero un reporte utilizando DOMPDF y este reporte ocupa una pagina no hay problema, el problema aparece cuando el reporte ocupa ...
  #1 (permalink)  
Antiguo 22/09/2011, 10:02
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Pregunta PHP+DOMPDF problema saltos de pagina

Hola a todos,

Cuando genero un reporte utilizando DOMPDF y este reporte ocupa una pagina no hay problema, el problema aparece cuando el reporte ocupa mas de una hoja. En el log de apache se genera este mensaje:
[error] [client ::1] PHP Notice: Undefined offset: 16 in /srv/www/htdocs/dompdf/include/cellmap.cls.php on line 559
[Thu Sep 22 10:41:30 2011] [error] [client ::1] PHP Fatal error: Call to a member function get_id() on a non-object in /srv/www/htdocs/dompdf/include/cellmap.cls.php on line 560


Segun documentacion de DOMPF mencionan que el salto de pagina se controla mediante <div style='page-break-after; always;'></div> pero no tiene ningun efecto....

Parte del Codigo es el siguiente:
Código PHP:
function genera_html() {
$shtml "<html>
    <head>
        <style type='text/css'>
            .textBold { font-family: 'Helvetica'; font-size: 8; }
        </style>
    </head>
    <body topmargin='0' leftmargin='0'>
        <table border='0' align='center' cellspacing='4' cellpadding='0' width='100%'>
                <tr><td colspan='16' align='center' class='textBold'><b>EMPRESA XYZ LTDA.</b></td></tr>
                <tr><td class='textBold' colspan='16' align='center'><b>REPORTE DESDE 2011/07/01 HASTA 2011/07/31</b></td></tr>
                <tr><td colspan='6' class='textBold'><b>Cliente: UNO S.A.</b></td></tr>
                <tr>
                    <td class='textBold' align='center'><b>CEDULA</b></td>
                    <td class='textBold' align='center' colspan='2'><b>NOMBRE</b></td>
                    <td align='center' class='textBold'><b>DIAS<br>TRAB<br></b></td>
                    <td align='center' class='textBold'><b>SUELDO<br>DEV<br></b></td>
                    <td align='center' class='textBold'><b>SUB.<br>TRPTE<br></b></td>
                    <td align='center' class='textBold'><b>TIEMPO<br>ADIC.<br></b></td>
                    <td align='center' class='textBold'><b>OTR.<br>DEV.<br>PS<br></b></td>
                    <td align='center' class='textBold'><b>INCAP<br></b></td>
                    <td align='center' class='textBold'><b>TOT.<br>DEV<br></b></td>
                    <td align='center' class='textBold'><b>PRES.SOC<br></b></td>
                    <td align='center' class='textBold'><b>AUX.INCAP<br></b></td>
                    <td align='center' class='textBold'><b>P.SOC.INCAP<br></b></td>
                    <td align='center' class='textBold'><b>SERV<br>DEV<br></b></td>
                    <td align='center' class='textBold'><b>NO<br>DEVENGA<br></b></td>
                    <td align='center' class='textBold'><b>SERVICIOS<br>NO<br>DEVENGADOS<br></b></td>
                    <td align='center' class='textBold'><b>TOTAL<br>FACTURA<br></b></td>
                    <td align='center' class='textBold'><b>DESCUENTO<br></b></td>
                </tr>
                <tr>
                    <td class='textBold'>1020740258</td>
                    <td class='textBold' colspan='2'>ARIAS BERNAL HELEN KATHERINE </td>
                    <td class='textBold' align='right'>30.00</td>
                    <td class='textBold' align='right'>535,600.00</td>
                    <td class='textBold' align='right'>63,600.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>599,200.00</td>
                    <td class='textBold' align='right'>0.54</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>101,339.70</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>1,022,609.70</td>
                    <td class='textBold' align='right'>0.00</td>
                </tr>
                <tr>
                    <td class='textBold'>1070917342</td>
                    <td class='textBold' colspan='2'>BONILLA RODRIGUEZ LEIDI VIVIANA </td>
                    <td class='textBold' align='right'>30.00</td>
                    <td class='textBold' align='right'>535,600.00</td>
                    <td class='textBold' align='right'>63,600.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>599,200.00</td>
                    <td class='textBold' align='right'>0.54</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>101,339.70</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>1,022,609.70</td>
                    <td class='textBold' align='right'>0.00</td>
                </tr>
                <tr>
                    <td class='textBold'>1026254471</td>
                    <td class='textBold' colspan='2'>RUIZ CHARRY LEIDY CAHTERINE </td>
                    <td class='textBold' align='right'>30.00</td>
                    <td class='textBold' align='right'>535,600.00</td>
                    <td class='textBold' align='right'>63,600.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>599,200.00</td>
                    <td class='textBold' align='right'>0.54</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>101,339.70</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>1,022,609.70</td>
                    <td class='textBold' align='right'>0.00</td>
                </tr>
                <tr>
                    <td class='textBold'>52938698</td>
                    <td class='textBold' colspan='2'>SUAREZ MARIN JULIETH FABIANA </td>
                    <td class='textBold' align='right'>30.00</td>
                    <td class='textBold' align='right'>535,600.00</td>
                    <td class='textBold' align='right'>63,600.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>599,200.00</td>
                    <td class='textBold' align='right'>0.54</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>101,339.70</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>1,022,609.70</td>
                    <td class='textBold' align='right'>0.00</td>
                </tr>
                <tr>
                    <td class='textBold' colspan='4'><b>TOTAL VENTAS 26 - 10172629</b></td>
                    <td class='textBold' align='right'><b>2,142,400.00</b></td>
                    <td class='textBold' align='right'><b>254,400.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>2,396,800.00</b></td>
                    <td class='textBold' align='right'><b>2.15</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>405,358.80</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>4,090,438.80</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                </tr>
   <div style='page-break-after:always;'></div>
                <tr>
                    <td class='textBold'>52938698</td>
                    <td class='textBold' colspan='2'>SUAREZ MARIN JULIETH FABIANA </td>
                    <td class='textBold' align='right'>30.00</td>
                    <td class='textBold' align='right'>535,600.00</td>
                    <td class='textBold' align='right'>63,600.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>599,200.00</td>
                    <td class='textBold' align='right'>0.54</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>101,339.70</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>0.00</td>
                    <td class='textBold' align='right'>1,022,609.70</td>
                    <td class='textBold' align='right'>0.00</td>
                </tr>
                <tr>
                    <td class='textBold' colspan='4'><b>TOTAL VENTAS 26 - 10172629</b></td>
                    <td class='textBold' align='right'><b>2,142,400.00</b></td>
                    <td class='textBold' align='right'><b>254,400.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>2,396,800.00</b></td>
                    <td class='textBold' align='right'><b>2.15</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>405,358.80</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                    <td class='textBold' align='right'><b>4,090,438.80</b></td>
                    <td class='textBold' align='right'><b>0.00</b></td>
                </tr>
        </table>
    </body>
</html>"
;

  require_once(
"./dompdf/dompdf_config.inc.php");
  
ob_end_clean();
  
$dompdf=new DOMPDF();
  
$dompdf->set_paper(array(0,0,1000,612));
  
$dompdf->load_html($shtml);
  
$dompdf->render();
  
$dompdf->stream("archivo_pdf.pdf", array("Attachment" => 0));

}
?> 
Si alguien de ustedes tiene la experiencia de trabajar con DOMPDF o me pueda ayudar a resolver este caso se lo agradezco infinito.

Un Cordial Saludo
  #2 (permalink)  
Antiguo 22/09/2011, 11:20
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Respuesta: PHP+DOMPDF problema saltos de pagina

Finalmente... y felizmente pude solucionar esta vaina que estaba que me sacaba la piedra.... despues de varios dias de hacer pruebas y pruebas pude solucionarlo.

La clave es: como todo el reporte esta generado en una sola tabla hay que poner este codigo donde se desea hacer el salto de pagina

Código PHP:
</tr>        // Fin de la ultima linea de la pagina
</table>   // Fin de la tabla
<br><table style='page-break-after:always;'></br></table><br>   //Salto de pagina
<table border='0' align='center' cellspacing='4' cellpadding='0' width='100%'>  //Definir nueva tabla

// Continuar con el reporte 
Si alguien tiene una mejor solucion, bienvenida sea.

Esa era toda la vaina..... ahora si el patron esta contento y no me echa..... por ahora

Mil Gracias.... Espero que a alguien le pueda servir

Un Cordial Saludo

  #3 (permalink)  
Antiguo 20/06/2012, 05:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: PHP+DOMPDF problema saltos de pagina

Buen reporte, me ha sido de gran ayuda. Gracias

Etiquetas: html, saltos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:59.