PDF y PHP con mPDF

PDF y PHP

A veces, quienes utilizamos PHP como lenguaje para el desarrollo web, nos encontramos en la necesidad de “exportar” un documento web, tal cuál lo vemos en el navegador, a PDF, de forma que sea fácil de imprimir y redistribuir; un ejemplo relativamente habitual es el de generar una factura vía PHP y pasarla a PDF para imprimirla o enviársela a un cliente. PDF y PHP pueden trabajar juntos para generar una buena experiencia de usuario.

Existen varias librerías capaces de generar PDF’s a partir de PHP, TCPDF, FPDF, Zend_Pdf, DOMPDF, WKHtmlToPdf, HTML2PDF, mPDF… Hoy quiero hablar de esta última, que es la que utiliza MyClientBase, software web opensource que utilizo para para gestionar mis facturas. Algunas de las características que más valoro son las siguientes:

  • Codificación UTF-8
  • Acepta idiomas que se escriben de derecha a izquierda (y de izquierda a derecha, naturalmente).
  • Soporta CSS
  • Soporta bastante bien las posiciones flotantes (float), fijas o absolutas.
  • Columnas
  • Tablas
  • Índices
  • Marcadores
  • Justificación de texto, guiones a final de línea para separar sílabas (Hyphenation)
  • Imágenes
  • Y un largo etcétera.

Un ejemplo sencillo, el típico Hello World!:

include(‘ruta_a_mpdf.php/mpdf.php’);

$mpdf=new mPDF();

$mpdf->WriteHTML(‘<p>Hello World!</p>’);

$mpdf->Output();

exit;

Como se puede apreciar, una forma muy sencilla de generar un PDF. Nótese que la función WriteHTML va a aceptar casi cualquier cosa, por lo que podemos generar nuestra plantilla HTML con PHP y generar el PDF de manera fácil y sencilla. PDF y PHP nunca se habían llevado tan bien ;)

Puedes descargar la librería y consultar la documentación oficial en la página web de mPDF.

Sobre el autor del artículo, Alex Hernández...

En esencia, soy un amante de las nuevas tecnologías, el desarrollo, la programación, el marketing, la usabilidad… en definitiva, un amante de todo lo que hace que un producto se convierta en una herramienta útil para los usuarios. Desde servicios web hasta sencillas páginas corporativas pasando por aplicaciones móviles o videojuegos. Puedes saber más sobre mí en mi página web o seguirme en twitter (@stratdes).

¿Quieres decir algo?






volver arriba