Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 17 Mayo 2012, 16:41 pm



Título: (Tutorial) Crear PDF desde un HTML (mPDF)
Publicado por: dimitrix en 17 Mayo 2012, 16:41 pm
La creación de PDF desde HTML gracias a PHP ha sido un problema para muchos programadores, puesto que existen pocos códigos que realicen esto y de todos esos códigos el 90% no servirán por una razón u otra (no coloca bien los DIV, no tiene soporte CSS…)

Así que después de estar buscando y buscando en **** y después de probar unos 10 programas de esta índole, nos hemos decantado por mPDF, que es por mucho el mejor de todos.

¿Cómo conseguirlo?:
Pues en la web del autor, es código libre así que no tendréis problemas para descargarlo. Esto ya es opcional pero si vais a realizar un uso comercial de este producto lo mínimo es hacer una pequeña donación para que así sigan programándolo y actualizándolo.

¿Por qué este es mejor que el resto?
Principalmente porque hemos probado la mayoría que existen en el mercado y este tiene muchos factores que hace que sea mucho mejor:
- Por que tiene actualizaciones.
- Por que funciona perfectamente DIV y CSS.
- Es el único que soporta CSS3 y funciona perfectamente atributos como border-radius, box-shadow…

¿Cómo genero el PDF?
Si vuestro proyecto va a ser muy grande, quizás necesitéis configurar como nosotros el archivo de configuración. Si es para ir probando no tendréis problemas tal y como viene configurado. El código para generar el PDF que usamos nosotros es el siguiente:

Código
  1. include("../MPDF/mpdf.php");
  2. $mpdf=new mPDF();
  3.  
  4. $html = utf8_encode($html);
  5.  
  6. //==============================================================
  7. if ($_REQUEST['html']) { echo $html; exit; }
  8.  
  9. $mpdf->WriteHTML($html);
  10.  
  11. // SALIDA
  12. $mpdf->Output('nombre.pdf','D'); exit;

Tenemos que recordar que mPDF solamente funciona con UTF8 por lo que si existe algo que no sea UTF8 nos saltará error (a no ser que lo configuremos para que siga adelante), por eso nosotros formateamos el texto con el utf8_encode().

Como veréis el Output() tiene dos opciones, la segunda opción, aunque es opcional recomendamos que añadáis la D. Puesto que así mandará la cabecera (Force-Download) para que el archivo salga para descargar.

Fuente: http://blog.kaira.es/crear-pdf-desde-un-html-mpdf/