Este blog esta destinado para la comunidad desarrolladora de software, en el podrán encontrar trucos, atajos o consejos de diferentes lenguajes de programación o frameworks, tanto de tipo desktop como web. Si quieres participar como editor por favor hacerlo saber escribiendo un correo a cualquiera de los editores.
Mostrando entradas con la etiqueta sfTCPDFPlugin. Mostrar todas las entradas
Mostrando entradas con la etiqueta sfTCPDFPlugin. Mostrar todas las entradas

viernes, 11 de junio de 2010

Symfony + PDF, TCPDDF (sfTCPDFPlugin)

Bueno, como todo proyecto tiene reportes(en pdf), aquí va como agregar TCPDF a nuestro proyecto de Symfony.

Hasta donde hemos trabajado, lo hemos hecho de dos formas.

La primera es agregándolo con Symfony, situados en la carpeta de nuestro proyecto, ejecutamos:

symfony plugin:install sfTCPDFPlugin

luego

symfony plugin:publish-assets

luego

symfony cc

La segunda forma es descargarlo de:


recuerde revisar que la versión que descargue sea compatible con la versión del Symfony con la que esta trabajando. Despues de descargado lo descomprimen y lo copian en la carpeta de plugins del proyecto, debe quedar algo así: nombreProyecto/plugins/sfTCPDFPlugin, y despues ejecutamos:

symfony plugin:publish-assets

luego

symfony cc

y listo, ya tenemos el TCPDF en nuestro proyecto, ahora un ejemplo:

en el action de un modulo creamos una nueva acción

public function executeReportePDF()
{
$config = sfTCPDFPluginConfigHandler::loadConfig();

$pdf = new sfTCPDF();

$pdf->SetFont('FreeSerif', '', 8);

$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', '13'));
$pdf->SetHeaderData('', 2, 'Symfony', 'Reporte PDF');
$pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

$pdf->AliasNbPages();
$pdf->AddPage();
$this->html='Linux Rulez';

$pdf->writeHTML($this->html);
$pdf->ln();
$pdf->Output();

throw new sfStopException();
}

es un ejemplo muy sencillo, como para probar, ya cada quien lo modificara y le agregara cosas a su antojo. (por ahora no se como poner etiquetas html en las entradas del blog.)