Tcpdf NO me imprime PHP, pero si HTML ???

669 views
Skip to first unread message

Htapia !!!

unread,
Mar 8, 2010, 1:57:20 PM3/8/10
to CakePHP en Español
Estimados amigos, nuevamente he tenido que recurrir a ustedes, ya que
siempre me encuentro cada vez con mas errores que trato de resolver
pero no encuentro informacion.

Resulta que estoy tratando de crear archivos pdf, con tcpdf, logro
crear el pdf, pero el problema es cuando quiero ingresarle informacion
a este archivo, utilizo la accion writeHtml(), para imprimir un codigo
que se encuentra en html y lo imprime sin inconvenientes, pero cuando
le agrego codigo php al codigo html y trato de imprimirlo en el
archivo que estoy creando, no lo imprime.

Esta es mi vista en PDF:

<?php
App::import('Vendor','tcpdf');
$tcpdf = new TCPDF();
$textfont = 'freesans';
$tcpdf->SetCreator(PDF_CREATOR);
$tcpdf->SetAuthor("autor");
$tcpdf->SetTitle("Título");
$tcpdf->SetSubject("Tutorial TCPDF en cakePHP");
$tcpdf->SetKeywords("TCPDF, PDF, cakePHP, ejemplo");
$tcpdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH,
PDF_HEADER_TITLE, PDF_HEADER_STRING);
$tcpdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '',
PDF_FONT_SIZE_MAIN));
$tcpdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '',
PDF_FONT_SIZE_DATA));
$tcpdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$tcpdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$tcpdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$tcpdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$tcpdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$tcpdf->setLanguageArray($l);
$tcpdf->AliasNbPages();
$tcpdf->AddPage();
$tcpdf->SetFont("freesans", "BI", 12);
$html = '<table width="100%" cellspacing="3" cellpadding="25"
border="0">
<tr>
<td colspan="5" align="center" bgcolor="666666"><font
color="#FFFFFF"><strong>Lista de Abogados</strong></font></td>
</tr>
<tr>
<th bgcolor="aaaaaa" valign="middle">Rut</th>
<th bgcolor="aaaaaa" valign="middle">Nombre</th>
<th bgcolor="aaaaaa" valign="middle">Fecha de Nacimiento</th>
<th bgcolor="aaaaaa" valign="middle">Telefono</th>
<th bgcolor="aaaaaa" valign="middle">Email</th>
</tr>
<h1> hola </h1>

<?php echo "hola"; ?>

</table>';
$tcpdf->writeHTML($html, true, 0, true, 0);
$tcpdf->lastPage();
$tcpdf->Output("ejemplo.pdf", "I");
?>

A que creen que se debe esto ??

desde ya agradezco a todos aquellos que me ayuden, gracias.

Samu

unread,
Mar 8, 2010, 2:41:37 PM3/8/10
to cakep...@googlegroups.com
Lo que pasa es que estas metiendole codigo a una variable, eso no va a funcionar por mas que no utilices una libreria de pdf eso no va a funcionar porque tenes un error de sintaxis, si vas a utilizar una funcion dentro de una variable tenes que concatenarla a la misma y que el resultado sea a travez de un return, porque esto almacenaria en la variable la respuesta de la funcion, de lo contrario la funcion va a estar devolviendo un resultado antes de que la variable sea impresa, por ejemplo

<?php
function hola2(){echo 'hola';}
function hola(){return 'hola';}

$variable = 'Hola mundo';
$variableConcatenada = 'concatenar $variable: '.$variable;
//function hola(){return 'hola';}
$variableConcatenaFuncion = 'funcion hola(): '.hola();
//function hola(){echo 'hola';}
$variableConcatenaFuncionEcho = 'funcion hola(): '.hola2(); // devuelve 'hola'

$b = '<br/>';

//devuelve Hola mundo
echo $variable.$b;

//devuelve concatenar $variable: Hola mundo
echo $variableConcatenada.$b;

//deuvelve funcion hola(): hola
echo $variableConcatenaFuncion.$b;

//devuelve funcion hola():
echo $variableConcatenaFuncionEcho.$b;

?>

[resultado]
holaHola mundo
concatenar $variable: Hola mundo
funcion hola(): hola
funcion hola():

Lo primero que se imprime es hola ya que al declarar la variable con la funcion hola2() se esta ordenando que se imprima primero que la variable



--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a cakephp-esp...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-esp?hl=es.


Reply all
Reply to author
Forward
0 new messages