Convertir HTML a PDF con PHP

dompdf en una librería PHP que te permitirá convertir HTML a PDF. Puede interpretar tags html, CSS incluidos y externos con lo cual se puede lograr documentos PDF que son el reflejo de los html.

dompdf.png

Características
dompdf requiere para su funcionamiento PHP 5 y entre las cualidades mas destacables tenemos:

  • Soporte de propiedades, selectores CSS 2.1.
  • Soporte de atributos HTML 4.0
  • Soporte para hojas de estilos externas (local o remoto)
  • Soporte para tablas, incluyendo las propiedades de filas y columnas.
  • Soporte de imágenes GIF, JPG y PNG.
  • Soporte para links y anchors.
  • Soporte inline de PHP.
  • No necesita instalar librerías adicionales, por que utiliza R&OS PDF class.

Utilizando dompdf
Utilizar dompdf es muy sencillo, lo primero es incluir el archivo dompdf_config.inc.php y luego crear una instancia de la clase DOMPDF.

require_once("dompdf_config.inc.php");
$html =
  ''.
  '

Put your html here, or generate it with your favourite '. 'templating system.

'. ''; $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->render(); $dompdf->stream("sample.pdf");

Como se puede observar es muy sencilla de utilizar y se puede lograr muy buenos resultados. Si deseas probar el funcionamiento puede utilizar dompdf Demo el cual muestra un formulario en el cual puedes ingresar el html que deseas y te generará automáticamente el pdf.

Comentarios Total 67 comentarios

JLuis
Publicado: 15/05/2011 8:56 pm

Que tal ,queria preguntar como puedo agregar un encabezado y pie a cada pagina que se genere. bueno espero y me puedan ayudar gracias

Anna Carolina
Publicado: 16/08/2011 9:21 am

Bueno mas enredada que un perro pa echarse, tengo un duda, que se hace en los casos cuando tengo lo siguiente:

$html = No se donde colocar la variable si antes del DOCTYPE o despues.

'

$html = No se donde colocar la variable si antes del DOCTYPE o despues.
Luego entre tengo codigo entre Tables Java etc, lo que se me hace dificil incluir ( ‘ )comilla simple
Ya probe con el echo blablabla, pero quisiera tener algun ejemplo parecido al mio, para no equivocarme :P

Anna Carolina Diaz
Publicado: 19/08/2011 1:31 pm

Buenas te la siguiente duda, se que este codigo no va a funcionar, dentro de un HTML envuelto con

Que me pueden sugerir para este tipo de instruccion, ya que vercarrito.php me trae toda la info de los productos seleccionados por cada cliente …

Saludos

Anna Carolina Diaz
Publicado: 19/08/2011 1:33 pm

Buenas te la siguiente duda, se que este codigo no va a funcionar, dentro de un HTML envuelto con

Que me pueden sugerir para este tipo de instruccion, ya que vercarrito.php me trae toda la info de los productos seleccionados por cada cliente …

Gustavo
Publicado: 25/08/2011 3:38 pm

Gracias. Estoy utilizando la librería tal y como lo recomiendan y todo muy bien, el único problema es que cuando creo el pdf sale una ventana de diálogo que me pregunta si quiero abrir o guardar el archivo y lo que yo necesito es que no aparezca esa ventana y me guarde el archivo automáticamente en un directorio determinado en mi server y no en el cliente. ¿Es posible hacer eso y, en caso de ser así cómo tengo que hacerlo?
Saludos y gracias…

mp
Publicado: 07/09/2011 9:11 am

Buenas… quisiera saber como incluyo css en el html para crear un pdf.. Necesito mostrar un formulario desarrollado en php en pdf para que el usuario pueda imprimir o guardar..tengo una variable php en donde incluyo el formulario y luego lo redirecciono a una pagina en donde creo el pdf.. el pdf se genera pero no toma los css y queda todo descuadrado y sin formato.. tengo tambien tablas anidadas y no las toma..

Manuel
Publicado: 16/10/2011 6:04 pm

He usado el programa, pero cuando entra a evaluar una tabla no respeta el tamaño de letra, lo saca en letra muy grande no acorde a lo que se quiere, pues la tabla contiene datos.

Cómo se puede arreglar ello ?
Gracias

decoracion con globos
Publicado: 07/11/2011 8:58 am

Se ve que es muy sencillo para aplicarlo, lo voy a probar. Gracias

Saludos

Pach
Publicado: 15/11/2011 3:40 pm

Hola excelente ejemplo – – pero tengo una duda cuando yo introdusco el codigo con todo y estilos no me respeta la tipologia de la letra me la cambia, esto a que se devera – – epsero tus comentarios gracias

roger
Publicado: 28/11/2011 11:51 am

como puedo hacer que se guarde automaticamente el pdf en el swervidor?

Sotil
Publicado: 15/06/2012 10:24 am

Cuando quiero enviar una tabla con mas de 60 filas con 8 columnas me sale un error, pero cuando envio una tablas 10 filas y 8 columanas sale bien.

Karina
Publicado: 17/07/2012 3:41 pm

Hola por favor me funciona muy bien excepto cuando quiero mandar un imprimir una html tantas veces como registros existan en la BD. por favor ayuda

jaime
Publicado: 26/07/2012 5:46 pm

hola

como hago para crear una vista previa con dompdf

gracias

jonathan morales
Publicado: 10/10/2012 9:12 am

¿será que con esta librería puedo imprimir una página dinámica?, es decir, quiero que mi web se pueda imprimir en pdf con el mismo diseño que tiene, ¿cómo podría hacer eso?

Alejandro
Publicado: 23/04/2013 12:19 am

La librería R&OS PDF class que aparece para descargar en otra publicación de esta pagina no contiene la dompdf_config.inc.php, que hago?

Luis Larios
Publicado: 06/03/2014 9:05 pm

Les cuento que tuve problemas con las propiedades css float:left, right de mis divs, ya que al parecer la libreria actual no lo soporta, así que si han tenido el mismo problema pueden solucionarlo como lo hice yo, utilicen las propiedades css display: table, table-row y table-cell.

Así entonces creen un div principal con la propiedad display:table, dentro de este creen otro con la propiedad display:table-row y por último dentro de esta metan todos los divs necesarios con la propiedad display:table-cell con las medidas necesarias de cada uno. Esto funciona excelente.

Espero les sirva, saludos cordiales.

ing_mao
Publicado: 10/04/2014 1:51 pm

buenas excelente foro pero tengo una dificultad con las imagenes en dompdf resulta que la imagen la guarda la base de datos como tipo blob pero al momento de generar la pdf no muestar la imagen y me sale este errror en el pdf
Image not readable or empty
/base/planti/reporte_asistencia_SIM_INDER/imagen.php?cod=2179
el archovo imagen.php proceso campo blob de la base de datos para mostrar la imagen.

cualquier ayuda le estaria agredicido que el señor los bendiga y guarde.

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)