Foros del Web » Programando para Internet » PHP »

DOMPDF con DATATABLE

Estas en el tema de DOMPDF con DATATABLE en el foro de PHP en Foros del Web. Buen dia amigos, tengo la siguiente consulta. Necesito imprimir unas tablas que tengo listas con DATATABLE en HTML en formato PDF. El problema es que ...
  #1 (permalink)  
Antiguo 12/01/2015, 12:10
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 6 años, 2 meses
Puntos: 0
DOMPDF con DATATABLE

Buen dia amigos, tengo la siguiente consulta. Necesito imprimir unas tablas que tengo listas con DATATABLE en HTML en formato PDF. El problema es que al generar el PDF me muestra la tabla pero no con el ordenamiento que se le indica a la tabla. Probé imprimir las tablas en HTML y el DATATABLE si funciona ordenando la tabla correctamente. ¿Es posible hacer funcionar el DATATABLE con el DOMPDF? ¿Si es posible alguien me puede guiar como? Gracias.

Código PHP:
<?php ob_start(); ?>
<html>
<title></title>
<head>
    <script type="text/javascript" src="DATA_TABLE/media/js/jquery.js"></script>
    <script type="text/javascript" src="DATA_TABLE/media/js/jquery.dataTables.js"></script>
    <link href="DATA_TABLE/media/css/jquery.dataTables.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
<h2>Lista de usuarios</h2>
<table bordercolor="#BDBDBD" id='sgd' class='display' cellspacing='0'>
<thead>
    <tr bgcolor="#CCCCCC">
        <td>Nombre</td>
        <td>Apellido</td>
        <td>Email</td>
        <td>Edad</td>
    </tr></thead>
    <tbody>
    <tr bgcolor="#FF9933">
        <td>Antonio</td>
        <td>López</td>
        <td>[email protected]</td>
        <td>25</td>
    </tr>
    <tr bgcolor="#FF9933">
        <td>Sergio</td>
        <td>Martínez</td>
        <td>[email protected]</td>
        <td>47</td>
    </tr>
    <tr bgcolor="#FF9933">
        <td>Natalia</td>
        <td>Estrada</td>
        <td>[email protected]</td>
        <td>22</td>
    </tr>
    </tbody>
</table>
   
   <script type="text/javascript">
   $(document).ready(function() {
        $('#sgd').dataTable( {
            "order": [[ 3, "desc" ]]
        } );
    } );
   </script> 
 
</body>
</html>

<?php

require_once("dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_clean());
$dompdf->render();
$pdf $dompdf->output();
$filename "ejemplo".time().'.pdf';
file_put_contents($filename$pdf);
$dompdf->stream($filename);
?>
  #2 (permalink)  
Antiguo 12/01/2015, 12:17
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 1 mes
Puntos: 175
Respuesta: DOMPDF con DATATABLE

Bueno, a que exactamente te refieres con el ordenamiento que se le indica a la tabla ?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 12/01/2015, 12:57
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: DOMPDF con DATATABLE

Si, lo que pasa es que en el DATATABLE ordena los registros de determinada columna que se le indique, pero al descargar el PDF me muestra la tabla sin el ordenamiento indicado. Es como si no estuviera tomando el codigo que está entre las etiquetas <head></head> ya que es ahi donde traigo las librerías para la tabla que quiero mostrar.
  #4 (permalink)  
Antiguo 12/01/2015, 13:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 1 mes
Puntos: 175
Respuesta: DOMPDF con DATATABLE

toca ver si el DOMPDF es capaz de interpretar o parsear el
<script type="text/javascript">
$(document).ready(function() {
$('#sgd').dataTable( {
"order": [[ 3, "desc" ]]
} );
} );
</script>


o toma los datos en crudo que es probable... o tocará usar otra librería como HTML2PDF o similar...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 12/01/2015, 14:34
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: DOMPDF con DATATABLE

Como parseo el
<script type="text/javascript">
$(document).ready(function() {
$('#sgd').dataTable( {
"order": [[ 3, "desc" ]]
} );
} );
</script>
  #6 (permalink)  
Antiguo 12/01/2015, 15:04
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 1 mes
Puntos: 175
Respuesta: DOMPDF con DATATABLE

No se... jajaja.. eso es cuestión de la librería. Probablemente no lo admite, por ende, tu ordenamiento queda ignorado. No puedes ORDENAR desde el SQL ya de tal manera que no sea necesario tocar el DOM?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 12/01/2015, 16:20
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: DOMPDF con DATATABLE

No. Los datos son manuales, no vienen de la base de datos. :(
  #8 (permalink)  
Antiguo 12/01/2015, 16:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 7 meses
Puntos: 528
Respuesta: DOMPDF con DATATABLE

Lo adecuado sería que una vez ordenada la tabla, con javascript envíes el html de la tabla a dompdf, pudiendo ser por ajax, para que dompdf genere el pdf tal como está la tabla. En este caso, el tema sería más competencia de javascript, que de php.

Etiquetas: datatable, dompdf, html, tabla, usuarios
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:35.