Categorías: Sin categoría

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>

Eugenio Chaparro

Ver comentarios

  • 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();

Compartir
Publicado por
Eugenio Chaparro

Entradas recientes

🟢Editar código de un módulo en Dolibarr [04]

🟢Editar código de un módulo en Dolibarr [04]

En este tutorial vamos editar el código de nuestro módulo personas para poder personalizar algunas…

2 meses hace
🟢Crear un sub_módulo en Dolibarr [03]

🟢Crear un sub_módulo en Dolibarr [03]

En este tutorial vamos a crear un sub módulo llamado seguridad que será muy parecido…

2 meses hace
🟢Modificar un módulo en Dolibarr [02]

🟢Modificar un módulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
🟢Constructor de módulos en Dolibarr

🟢Constructor de módulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una política clara:…

2 meses hace
🟢Tickets en Dolibarr [19]

🟢Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
🟢Agenda en Dolibarr [18]

🟢Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace