lunes, 24 de octubre de 2011


Cuando estamos desarrollando un proyecto para algún cliente, nos podemos encontrar con ciertos problemas. Hace unos días, nos vimos con la necesidad de elaborar PDF a partir de una plantilla HTML. Hasta este momento, utilizábamos clases propias, basadas en la librería FPDF, pero descubrimos la librería MPDF, que nos permite crear PDF a partir de una plantilla HTML y de forma muy sencilla.
La librería MPDF está basada en la librería FPDF, pero te permite pasar una plantilla de HTML, con sus hojas de estilos, imágenes y cualquier otro elemento a PDF con unos sencillos pasos.

Su uso básico es muy sencillo, una vez que tengamos el HTML, sólo hay que decirle a la librería que nos lo transforme a formato PDF.

La librería nos permite varios casos:

Podemos decir que nos abra el archivo pdf generado.
Podemos guardarlo en nuestro servidor con el nombre que le indiquemos y la ruta que nosotros queramos.
Podemos transformarlo en cadena y enviarlo por correo electrónico.

Veamos unos casos básicos de uso.

El caso más simple es cuando le indicamos que nos abra el PDF que hemos generado en el navegador. El código de ejemplo para conseguir esto, puede ser el siguiente:


$mpdf
=new mPDF();

$mpdf
->WriteHTML('

Hello World

'
);

$mpdf
->Output();


Lo primero que hacemos es crearnos el objeto de la librería MPDF. Luego, invocamos a su método WriteHTML y le pasamos la cadena html que queremos convertir a PDF. Por último, lo que nos queda es indicar que nos creé el archivo, cosa que hacemos con el método Output.

Al método Output, se le puede indicar dos parámetros adiccionales. El primero es el nombre del archivo, y el segundo es la acción que queremos que ocurra con el PDF, que se abra, que se guarde...

Para este segundo parámetro, puede tomar los siguientes valores:

I: Es la opción por defecto, y lanza el archivo a que sea abierto en el navegador.
D: Fuerza la descarga del archivo. El nombre que tendrá será el dado en el primer argumento.
F: Esta opción permite guardar el PDF en nuestro servidor. Se puede indicar la ruta donde queremos que se guarde, indicando la ruta completa en el primer argumento de la función.
S: Retorna el documento como una cadena.

Con el código siguiente, estamos guardando en nuestro hosting el pdf creado con el nombre que le indicamos.


$mpdf
=new mPDF();

$mpdf
->WriteHTML('

Hello World

'
);

$mpdf
->Output('files/pdf/pruebas.pdf','F');


Como hemos comentado anteriormente, esto es el uso básico para crear un documento PDF, pero tiene muchas más funcionalidades, que puede ver en su sitio oficial.

0 comentarios:

Publicar un comentario