Foros del Web » Programando para Internet » PHP »

Problema al crear tabla en PDF con TCPDF

Estas en el tema de Problema al crear tabla en PDF con TCPDF en el foro de PHP en Foros del Web. Buenas!! Tengo un problema que me está quitando la vida... Estoy trabajando con TCPDF para crear un PDF desde PHP. Lo que hago es crear ...
  #1 (permalink)  
Antiguo 14/08/2013, 07:50
Avatar de JOvelleiro  
Fecha de Ingreso: febrero-2012
Ubicación: Valladolid
Mensajes: 25
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema al crear tabla en PDF con TCPDF

Buenas!!

Tengo un problema que me está quitando la vida... Estoy trabajando con TCPDF para crear un PDF desde PHP. Lo que hago es crear dinámicamente las filas de la tabla en HTML mediante PHP para luego pasárselo al TCPDF y que lo genere.

En $fila1 y $fila2 guardo las dos filas que creo (los <tr>) y luego los junto en la variable $tabla. finalmente se lo paso al TCPD para que lo genere. Pongo aquí el código.

Código:
$tabla = '<table style="border-collapse: collapse;" cellspacing="0" cellpadding="1" border="0.5">' . $fila1 . $fila2 . '</table>';
$html = htmlentities($tabla);
$html = $tabla;
$pdf->writeHTML($html, true, 0, true, 0);
$pdf->Output('InformeDepartamento.pdf', 'I');
El problema es que me genera un PDF en blanco. He hecho pruebas a ver si hay algún problema con la sintaxis del HTML que genero, pero todo es correcto (lo muestro a continuación). Lo raro es que cuando solo meto dentro del <table></table> $fila1, el pdf se genera perfectamente y se ve la tabla (por lo que doy por hecho de que no es un problema de mal uso del TCPDF, aunque vete tu a saber), pero en cuanto incluyo $fila2, todo en blanco.

Utilizando htmlentities($tabla) puedo ver el código que se genera, incluyendo el segundo <tr> que es el incluido en $fila2.

Código:
<table style="border-collapse: collapse;" cellspacing="0" cellpadding="1" border="0.5">
	<tr align="center" style="background-color:#A9BCF5">
		<td width="175">Nombre</td>
		<td width="75">Departamento</td>
		<td width="25">ENT</td>
		<td width="25">SAL</td>
		<td width="25">ENT</td>
		<td width="25">SAL</td>
		<td width="25">ENT</td>
		<td width="25">SAL</td>
		<td width="25">ENT</td>
		<td width="25">SAL</td>
	</tr>
	<tr align="center" style="background-color:#A9BCF5">
		<td width="175">Pedro Alonso</td>
		<td width="75">Administración</td>
		<td width="25" style="background-color:#F78181">08:15</td>
		<td width="25">14:15</td>
		<td width="25"></td>
		<td width="25"></td>
		<td width="25" style="background-color:#F78181">08:15</td>
		<td width="25">14:02</td>
		<td width="25">15:56</td>
		<td width="25" style="backgroundcolor:#F78181">18:42</td>
	</tr>
</table>
Yo no veo ninguna inconsistencia en el HTML generado para que cuando añado el segundo <tr> deje de mostrarse la tabla... Estoy perdido.

Espero que alguien me pueda echar una mano.

Gracias!!!
  #2 (permalink)  
Antiguo 14/08/2013, 09:53
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problema al crear tabla en PDF con TCPDF

Segun lo recuerdo, TCPDF usa un par de funciones para renderizar el css y el html, por lo tanto no soporta todos los tags.

Por ahi en la libreria tiene que haber una funcion que haga el render pero TCPDF no es la herramienta indicada para convertir un HTML complejo en PDF.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 14/08/2013, 10:17
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 3 meses
Puntos: 9
Respuesta: Problema al crear tabla en PDF con TCPDF

Averiguando en la pagina oficioal de TCPDF (lo que deberias haber hecho primero), encontre estas paginas
Ejemplo: http://www.tcpdf.org/examples/example_048.pdf
Codigo PHP: http://www.tcpdf.org/examples/example_048.phps

en el ejemplo veras como quedan, y bueno, el codigo PHP se sobre entiende.
  #4 (permalink)  
Antiguo 14/08/2013, 12:58
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Problema al crear tabla en PDF con TCPDF

Deberías hacer el estilo de las tablas directamente con CSS, tambien revisa la documentación de la funcion WriteHTML() para las tablas, estoy seguro que el parámetro "border=0.5" es el que está ocasionando el error.
  #5 (permalink)  
Antiguo 14/08/2013, 19:00
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 3 meses
Puntos: 9
Respuesta: Problema al crear tabla en PDF con TCPDF

De acuerdo contigo, deberia ser un numero natural, estuve probando en htmledit.squarefree, y no funciona con 0.5, solo con 1...
  #6 (permalink)  
Antiguo 19/08/2013, 05:37
Avatar de JOvelleiro  
Fecha de Ingreso: febrero-2012
Ubicación: Valladolid
Mensajes: 25
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problema al crear tabla en PDF con TCPDF

Gracias por las respuestas y perdón por el retraso pero no he estado operativo hasta hoy...

A ver, por partes. Lo del border="0.5" está corregido y puesto a 1, pero sigue ocurriendo lo mismo.

Por otra parte, los atributos del HTML tampoco son el problema ya que he eliminado todos dejando solo los <tr> y <td> sin ningún tipo de atributo y tampoco lo muestra.

También he cambiado la forma de almacenar los datos en $fila4 utilizando <<<EOT y más de lo mismo, nada.

Por cierto, omarinfinito, esos ejemplos que me ponen son en los que me he basado y de donde he sacado toda la información. De hecho, tengo otro PHP que funciona la perfección generando otra tabla y funciona a la perfección, el problema me lo está dando este que haciéndolo igual me da este problema.

Gracias por las sugerencias! Sigo a ver si encuentro el problema...
  #7 (permalink)  
Antiguo 19/08/2013, 10:18
Avatar de JOvelleiro  
Fecha de Ingreso: febrero-2012
Ubicación: Valladolid
Mensajes: 25
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problema al crear tabla en PDF con TCPDF

Localizado el error!!!
Eran los acentos, en cuanto hay un acento en alguna parte del HTML que tiene que generar el PDF peta y sale en blanco todo.

Ahora, alguien sabe cómo corregir esto???

Gracias!
  #8 (permalink)  
Antiguo 19/08/2013, 11:03
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema al crear tabla en PDF con TCPDF

tcpdf utiliza utf8, por lo que te sugiero que codifiques antes de pasarle la cadena.

$html=utf8_encode($html);

Etiquetas: pdf, tabla, table, tcpdf
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 05:46.