jueves, 6 de noviembre de 2014

Instalación de tcpdf en symfony 2.4

Hola a todos,

Aqui les dejo una guia paso a paso para instalar y realizar un pdf sencillo con symfony 2.4 y TCPDF

Para hacer pdf s en symfony 2.4, podemos utilizar la librería TCPDF , mediante el bundle WhiteOctoberTCPDFBundle.

Breve descripción del contenido

Los pasos para instalar el bundler son:
0. Instalar el composer (opcional, solo para los que no lo tienen instalado).
1. Agregar al composer.json la dependencia de nuestra aplicación al bundle.
2. Descargar el bundle mediante composer.
3. Revisar que la librería haya quedado descargada en el vendor.
4. Habilitar el bundle en el appkernel. (una vez habilitado ya lo puedes usar).

Ejemplo:
5. Hacer un controlador que utilice la librería.
6. Configurar el routing.
7. Visualizar el pdf.


Paso 0: Instalar el composer


En una consola de comandos digitar

maryit@..ubuntu$ curl -s https://getcomposer.org/installer | php

Una vez haya terminado de descargar, validamos que hay quedado instalado ejecutando el siguiente comando.

maryit@..ubuntu$ php composer.phar



Paso 1: Agregar dependencia 


Abrir el archivo composer.json ubicado en la carpeta raiz del proyecto y agregar en la sección require la dependencia al bundle

"require": {
        ...
        "whiteoctober/tcpdf-bundle": "dev-master"
    },




Paso 2: descargar bundle mediante composer update

Ahora vamos a una consola de comandos

 maryit@..ubuntu$ sudo  php composer.phar  update

a este comando le debemos dar unos 3 o 5 minutos para que descargue todas las dependencias



Paso 3:Validar que el bundle esta en la carpeta vendor

Una vez halla terminado el comando anterior vamos a la carpeta vendor ubicada en la raiz del proyecto y ubicamos visualmente la carpeta con el nuevo bundle.




Paso 4: Habilitar el bundle en el kernel


Vamos a la carpeta app y abrimos el archivo AppKernel.php e incluimos una instancia de WhiteOctoberTCPDFBundle

public function registerBundles()
    {
        $bundles = array(
            ...
            new WhiteOctober\TCPDFBundle\WhiteOctoberTCPDFBundle(),
        );

        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            ...
        }

        return $bundles;
    }


Listo ya esta instalada y lista para usar, veamos un ejemplo

Paso 5: Implemente un controller


Cree un controlador que implemente un método que devuelva un pdf , a continuación un ejemplo:



Paso 6: Incluya dentro del routing el nuevo método

Vaya  a su archivo rounting.yml ubicado en la ruta
carpetaproyecto/src/app/bundle /resources/config/rounting.yml

Paso 7: Visualice el pdf en un navegador


Vaya a un navegador  y realice un acceso llamando al método definido en el routing, en mi caso:
http://localhost/empleo/web/app_dev.php/imprimirHVPdf




!!!Listo!!!

2 comentarios:

Diego Delgado dijo...

Gracias, muy claro y facil de implementar

Anónimo dijo...

¡Felicitaciones por la claridad y el detalle! ¡No has dejado nada sin explicar!