martes 17 de mayo de 2011

Convirtiendo HTML a PDF con PHP

La semana pasada un amigo me pidio que le ayudara a generar un reporte PDF, y haciendo una breve googleada me encontre con un componente que me parecio muy util, dompdf.

El componente consta de una clase principal q lo q hace es recibir el codigo html y convertirlo al codigo de un pdf normal. Es bastante util ya q puede convertir las imagenes (siempre y cuando esten dentro del mismo servidor, ya me encargue de testearlo), css2 y algunas propiedades de css3. Lo unico que note es q si unicamente lo q se necesita es guardar el archivo en el servidor, no tiene nada q lo soporte, en otras palabras la funcionalidad por defecto de este, es dejar bajar el documento al usuario de la pagina. Pero implementar el fix para esto fue muy sencillo y se los presento a continuacion:

  1. <?php

  2. include 'dompdf_lib/dompdf_config.inc.php';

  3. $html =

  4. '<html><body><h2>Titulo de documento pdf</h2>' .

  5. '<p>Texto de prueba para ' .

  6. 'documento pdf.</p>' .

  7. '</body></html>';



  8. $dompdf = new DOMPDF();

  9. $dompdf->load_html($html);

  10. $dompdf->render();

  11. //permitir al usuario descargar pdf - lo usual

  12. //$dompdf->stream("doc.pdf");



  13. //o guardarlo en el servidor

  14. $archivo = "documento.pdf";

  15. $arch = fopen($archivo, 'w');

  16. //sacar codigo del documento pdf

  17. $contenido = $dompdf->output();

  18. //guardar en archivo

  19. fwrite($arch, $contenido);

  20. echo "<h3>PDF Creado...</h3>";

  21. fclose($arch);

  22. ?>



El ejemplo junto con las dependencias queda aqui:
http://cid-4b6f9e97c28c7b48.office.live.com/self.aspx/.Public/PDF-php.zip

Espero q este ejemplo les sea util, saludos.

0 comentarios:

Publicar un comentario en la entrada

Compartir