Hola amigos.
Utilizo dompdf para imprimir el resultado de una serie de estadísticas.
Estas estadísticas se pueden elegir por medio de un checkbox. Quiero decir que puedo imprimir múltiples estadísticas a la vez.
Cada estadística se carga en un div distinto que, a su vez, está dentro de otro div.
Código HTML:
Ver original<div id='zonas' style='float:left; align='center''> <table class='form' id='itsthetable'> <tr><th><img src='./images/blanco.png' onLoad='javascript:ocultaTablaEst()'/></th></tr> <th><div id='zonaVolantesporFedeInt' name='zonaVolantesporFedeInt' class='divEstCoord' align='center'></div></th> <th><div id='zonaVolantesporTipoSol' name='zonaVolantesporTipoSol' class='divEstCoord' align='center'></div></th> <th><div id='zonaUnidadesporCaracterInst' name='zonaUnidadesporCaracterInst' class='divEstCoord' align='center'></div></th> <th><div id='zonaVolantesporRealizados' name='zonaVolantesporRealizados' class='divEstCoord' align='center'></div></th> <th><div id='zonaVolantesporSexoEdad' name='zonaVolantesporSexoEdad' class='divEstCoord' align='center'></div></th> <th><div id='zonaVolantesporProvincias' name='zonaVolantesporProvincias' class='divEstCoord' align='center'></div></th> <th><div id='zonaDuracionMedia' name='zonaDuracionMedia' class='divEstCoord' align='center'></div></th> <th><div id='zonaVolantesporFranja' name='zonaVolantesporFranja' class='divEstCoord' align='center'></div></th> <th><div id='zonaGrafica' name'zonaGrafica' class='divEstCoord' align='center'></div></th> <div align='center' id='botpdf' name='botpdf'><input type='button' id='gpdf' name='gpdf' value='Generar Pdf' onclick='javascript:recogeHtml();'/></div>
Luego a dompdf le mando lo siguiente
Código PHP:
function imprimePdf($htmlest)
{
$html = "<html>
<head>
<link rel='stylesheet' href='style.css' />
</head>
<body>
<div id='cabecera_membrete' style='width:100%; float:left;'/><div align='center'><img src='images/cabecera_membrete.png'/></div></div>
<div id='centro_pdf' style='height:80%; width:100%;'>
<div id='lateral_membrete' style='width:5%; float:left; border:1px solid red'><img src='images/lateral_membrete.png' style='margin-top:3em'/></div>
<div id='contenido_pdf' style='float:right; border: 1px solid orange; width:90%;'>$htmlest</div>
<div class='cleared'></div>
</div>
<div id='pie_membrete' style='width:100%; float:left; height:5%;'><div align='center'><img src='images/pie_membrete.png'/></div></div>
</body>
</html>";
require_once("includes/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->set_paper("a4", "portrait");
$dompdf->load_html($html);//cargamos el html
ini_set("memory_limit","32M");
$dompdf->render();//renderizamos
$pdf = $dompdf->output();//asignamos la salida a una variable
file_put_contents("archivo.pdf", $pdf);//colocamos la salida en un archivo
$dompdf->stream("archivo.pdf");
$dompdf->stream("liberar.vb");
echo "<a href=\"archivo.pdf\" target=\"_blank\">archivo.pdf</a>";//imprimo la liga para descargar el pdf
}
Si elijo que me imprima una sola estadística me la imprime sin problemas. En cambio si le pido que me imprima 2 me lanza los siguientes errores
Notice: Undefined offset: 2 in /var/www/default/CnseIls2/includes/dompdf/include/cellmap.cls.php on line 559 Fatal error: Call to a member function get_id() on a non-object in /var/www/default/CnseIls2/includes/dompdf/include/cellmap.cls.php on line 560
Alguien sabe a qué puede ser debido ésto?
Las estadísticas a parte de los divs están formadas por tablas.
Gracias y saludos.