Generar PDF desde PHP con HTML2PDF

Vamos a ver como generar un documento PDF desde PHP con HTML2PDF, una librería muy sencilla y útil para esta tarea. Hay varias más como FPDF o DOMPDF, pero HTML2PDF es la que menos problemas me ha dado.

La ventaja que tiene frente a otras es que nos permite posicionar elementos y darle estilos al PDF mediante HTML y CSS, lo cual es mucho mas sencillo que utilizar muchísimos métodos para generar un documento con la apariencia que nos interesa(como es el caso de FPDF).

Podemos descargar HTML2PDF desde su web oficial, donde también encontraremos ejemplos de uso.
Empezamos con el ejemplo:

<?php
if(isset($_POST["generar"])){
	//Incluimos la librería
	require_once 'html2pdf_v4.03/html2pdf.class.php';
	
	//Recogemos el contenido de la vista
	ob_start(); 
	require_once 'vistaImprimir.php';
	$html=ob_get_clean(); 

	//Pasamos esa vista a PDF
	
	//Le indicamos el tipo de hoja y la codificación de caracteres
	$mipdf=new HTML2PDF('P','A4','es','true','UTF-8');

	//Escribimos el contenido en el PDF
	$mipdf->writeHTML($html);

	//Generamos el PDF
	$mipdf->Output('PdfGeneradoPHP.pdf');

}
?>
<form action="" method="POST">
	<input type="submit" value="Generar PDF" name="generar"/>
</form>

Este fichero será del que se sacará la información para generar el documento pdf.

<!DOCTYPE HTML>
<html lang="es">
	<head>
		<meta charset="UTF-8"/>
		<title>Generar PDF con PHP</title>
		<style type="text/css">
		#cabecera{
			background:#eee;
			padding:20px;
		}
		h2,h3{
			float:left;
		}
		#cabecera img{
			width: 140px;
			float:right;
		}
		</style>
	</head>
	<body>
	<div id="cabecera">
		<img src="php.png" />
		<h2>Este PDF ha sido generado desde PHP</h2>
		<h3>Victor Robles - 
			<a href="http://victorroblesweb.es">
				victorroblesweb.es
			</a>
		</h3>
	</div>

	<p>Lista ordenada:
		<ol>
			<li>PHP</li>
			<li>Python</li>
			<li>Ruby</li>
			<li>Java</li>
		</ol>
	</p>
	</body>
</html>

Puedes ver el resultado del documento PDF generado aquí.

Victor

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post

3 Comentarios

  1. me manda [ERROR] It seems that HTML2PDF dependencies are not installed… you must install thems with `composer install`

    Responder
  2. [ERROR] It seems that HTML2PDF dependencies are not installed… you must install thems with `composer install`

    Responder
  3. Como puedo enviar variables desde una pagina y recibirla en la que necesito convertirla a pdf??? gracias

    Responder

Poner un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *