Convertir HTML a PDF con PHP

febrero 12 201016 comentarios

Guardado en : Programación, Software Libre

Bueno antes de comenzar, primero debemos bajarnos el DOMPDF, que es el que nos servira para convertir nuestro html a pdf, descargaremos su version dompdf_0-6-0_alpha2.tar.gz ,que funciona tanto para windows como para linux y que ahora se encuentra en http://code.google.com/p/dompdf/downloads/list, para utilizarlo requerimos de php 5 o superior con la extensión DOM habilitada.

DOMPDF provee soporte para la creación de archivos PDF sobre archivos html con estilos(css) pero no todas las propiedades, no acepta posiciones flotantes ni relativas entre otras, para saber que propiedades son aceptadas y cuales no, revisa el siguiente link.

Ya descargado el DOMPDF, extraemos los archivos y la carpeta llamda dompdf la copiamos en la raiz de nuestro proyecto.

Ahora, para nuestro caso crearemos una aplicacion en html, en donde nostros podremos buscar nuestra pagina en html para transformarla a pdf.

Lo que aquí hacemos es crear un formulario donde le decimos que será redireccionada a la pagina toPdf.php y los valores ó variables seran pasadas a travez del metodo GET.

Seguido de esto crearemos el archivo toPdf.php, el cual se encargara de recibir el nombre de la pagina que seleccionamos y la convertira a pdf.

Este proceso puede ser modificado ya que no es obligatorio leer un archivo html, tambien contamos con un metodo llamdo load_html(‘texto’) donde el parametro texto recibira una cadena que contenga la informacion para crear una pagina html, como por ejemplo lo siguiente:

Ya terminado los dos archivos, solo falta ejecutar nuestra aplicacion y ver como el proceso se realiza facilmente.

Nota: los dos archivos y la carpeta dompdf deben de estar en la raiz del proyecto y recuerden que como trabajamos con php este tiene que estar bajo un servidor que lo soporte.

Quizá te interese :

Acerca del autor:

Ingeniero en Sistemas Computacionales.. Puedes contactarme sobre mis artículos en jsosa@smartdsign.net

16 Respuestas a “Convertir HTML a PDF con PHP”

  1. Martha dice:

    Hola jorge gracias por esta informacion esta bien detalla y me es de mucha utilidad

  2. jorge dice:

    no me funciono tu ejemplo me dice que no tengo permisos

  3. Daniel dice:

    Podrías poner más información, así no se te puede ayudar.

  4. Jorge dice:

    Probablemente tu carpeta no tiene permisos de escritura-lenctura, si estás en linux utiliza: sudo chmod -R 777 “carpeta”, en windows en propiedades y en seguridad.. Saludos!!

  5. Eddy dice:

    Holas, podrian ayudarme a crear PDFs con imagenes?

  6. Daniel dice:

    Hola Eddy
    En usando esta librería puedes generar pdf’s con imágenes de manera muy simple, es cuestión de poner en el php un

    <img  src="http://turutaabsoluta"/>

    Con la imagen que desees insertar, un pequeño detalle, require las ruta absoluta a la imagen (con http y todo lo demás del nombre de dominio)
    Espero te sirva!

  7. Arturo Gaytan. dice:

    Hola Jorge.

    Estoy tratando de convertir un HTML a PDF, tengo Windows, pero cuando lo corro no me manda ningun mensaje, pero tampoco me genera el archivo tengo la version de PHP 5.2.

    Gracias por tu valiosa ayuda.

  8. Daniel dice:

    Hola Arturo.
    Verifica que estés usando la librería, tengas las fuentes al alcance de la librería y verifica que tengas el error_reporting al nivel más alto, para ver los posibles problemas, que tenga tu código, verifica también que tu código no lanze nada (un espacio en blanco o un tabulador) antes de la generar el PDF.
    Algo adicional, si no te muestra ningún error, igual te está mandando los mensajes al log de error de PHP.

  9. Arturo Gaytan. dice:

    Que tal Jorge:

    Ya verifique, el problema, era mal estructura del HTML, aparte de que me hacia falta la libPDF. Pero ya quedo.

    Tengo otra pregunta. Con las imagenes, en el HTML, si se ven, y cuando en el explorador, le indico la ruta, de donde se tomara. Si la muestra, pero a la hora de pasarla al PDF. solo muestra una X con rojo.

    Gracias por tu apoyo.

  10. Reyna dice:

    Hola, me funciona bien localmente en cualquier explorador pero al momento de subirlo al servidor en explorer no funciona, no marca error simplemente no hace nada. Espero puedas ayudarme.
    Saludos

  11. Daniel dice:

    Hola Reyna,
    Verifica que el servidor no esté mandando un MIME-Type antes que el PHP, verifica también tu error log, ahí suele haber información útil para diagnosticar.
    Saludos!

  12. Mario dice:

    Saludos a todos, gracias por este gran aporte. He intentado hacer el ejemplo pero me lanza la siguiente excepcion:

    - DOMPDF_Exception: Permission denied on

    Ya probe estableciendo permisos a las carpetas (trabajo en windows por lo que fui a propiedades/seguridad…) pero no se soluciono el problema.

    Se tratara de alguna línea de código que tengo que establecer? Por favor les solicito su ayuda!

    Muchas Gracias.

  13. David Rodrgiuez dice:

    Hola quisera saber si hay que ahcer alguna conf especial en
    dompdf_config.inc.php

    no me funciona… mil gracias!

  14. Jorge dice:

    Hola David!
    No, no necesitas modificar el archivo que mencionas, si mencionaras tu error tal vez podríamos ayudarte..

    Saludos!

  15. Javier Campos dice:

    Buenas tardes Jorge, te envié un correo explicándote mi caso, tengo una tabla que calcula el volumen aplicable de carga de aviación, esta tabla es dinámica html-php la necesito en formato PDF para vincularla con el formulario de cotización.

    El problema es que al momento de convertirla a formato PDF únicamente me pasa la página web sin los valores.

    Es demasiado problema rehacer la tabla asignándole los valores finales antes de presionar el botón de conversión.

    En el correo que te envié te mando el vínculo hacia la página php que realiza los cálculos.

    Saludos!

  16. Fernanda dice:

    Hola Jorge, yo tengo un caso en que tengo una grilla, con un listado de formularios, la idea es que cada fila (que seria un formulario) tenga un boton para descargar en pdf. Resulta que estos formularios tienen alrededor de 20 datos que estan almacenados en mysql. Esta metodologia sirve para qe se puedan visualizar correctamente en el pdf? gracias!

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->