PHP Convertir HTML a PDF

INTRODUCCIÓN

Existen muchas herramientas en php para crear un pdf pero se preguntaran ¿Que ventaja tiene esta herramienta por encima de todas las demás?. Pues es lo fácil y versátil que es crear un documento pdf. Prácticamente dompdf convierte un html en pdf a través de php, lo que nos da muchas ventajas las cuales describo a continuación:

Ventajas:

  • Versátil (Puede convertir html a pdf o puedes crear un pdf con texto y coordenadas).
  • Puedes crear un pdf a través de un html que no este en tu sistema (Solo requieres pasarle la url).
  • Es muy ligero.
  • compatible con CSS.
  • Opensource.

Desventajas:

  • No es compatible con todas las funciones de CSS.
  • Es conveniente crear nuestro HTML a convertir para evitar incompatibilidades.
  • Tiene un limite en el tamaño del HTML a convertir.

PROCEDIMIENTOS

Descargamos y descomprimimos dompdf desde esta url: https://github.com/dompdf/dompdf/releases

Creamos un archivo index.php con este codigo:

<?php 
// Jalamos las librerias de dompdf
require_once 'dompdf/autoload.inc.php';
use DompdfDompdf;
// Inicializamos dompdf
$dompdf = new Dompdf();
// Le pasamos el html a dompdf
$dompdf->loadHtml('hello world');
// Colocamos als propiedades de la hoja
$dompdf->setPaper("A4", "landscape");
// Escribimos el html en el PDF
$dompdf->render();
// Ponemos el PDF en el browser
$dompdf->stream();
?>

Si queremos crear un pdf desde un archivo externo podemos usar este codigo:

<?php 
// Guardamos el contenido de contenido.php en la variable html
ob_start();
require "contenido.php";
$html = ob_get_clean();
// Jalamos las librerias de dompdf
require_once 'dompdf/autoload.inc.php';
use DompdfDompdf;
// Inicializamos dompdf
$dompdf = new Dompdf();
// Le pasamos el html a dompdf
$dompdf->loadHtml($html);
// Colocamos als propiedades de la hoja
$dompdf->setPaper("A4", "landscape");
// Escribimos el html en el PDF
$dompdf->render();
// Ponemos el PDF en el browser
$dompdf->stream();
?>

contenido.php


<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<style>body{font-size: 16px;color: black;}</style>
<title>Title</title>
</head>
<body>
<h2>Hello</h2>
<img src="logo.png"></img>
</body>
</html>

Una respuesta a “PHP Convertir HTML a PDF”

  1. Excelente codigo, pero tengo una duda
    en este codigo
    ob_start();
    require “contenido.php”; (a esta pagina php le puedo pasar parametros???)
    $html = ob_get_clean();

Deja un comentario

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