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).

He preparado un vídeo en el que te eseño como hacerlo todo paso a paso:

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í.

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post