PHP Convertir HTML a PDF

PHP%2BConvertir%2BHTML%2Ba%2BPDF

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>

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

En Programador Novato vivimos de los anuncios, hemos detectado que está utilizando extensiones para bloquear anuncios. Ayudanos deshabilitando tu bloqueador de anuncios. :)