Forzar descarga DOMPDF PHP

Forzar descarga DOMPDF PHP. Explicaremos con un sencillo ejemplo para descargar un fichero a través de un navegador usando la librería DOMPDF para generar documentos PDF.

Forzar descarga DOMPDF PHP

Además, vamos a aprender a crear un PDF a partir del lenguaje HTML (es decir, vamos a convertir código HTML a un documento PDF), usando el paquete dompdf.

Vamos a ver 3 ejemplos completos para convertir HTML a PDF

  • Guardar en el disco duro
  • Mostrar en el navegador web
  • Forzar descarga en el navegador

¿Como instalar dompdf para descargar PDF?

Para instalar DOMPDF necesitamos el programa Composer, recordemos que composer es un sistema de gestión de paquetes para programar en PHP. Una vez instalado en nuestra PC solo debemos de abrir la consola de Windows y estando en la raíz de nuestro proyecto ejecutar la siguiente línea de código.

composer require dompdf/dompdf

Al ejecutar el comando anterior nos mostrara la importación correcta, aquí les dejo una imagen para que puedan guiarse.

Instalar DOMPDF PHP

Instalar DOMPDF PHP

Incluir fichero autoload de dompdf

Una vez que la instalación fue exitosa debemos de incluir el fichero autoload en el archivo donde deseamos generar el documento PDF:

include_once "./vendor/autoload.php";
use Dompdf\Dompdf;

Nota:
Recuerda que al instalar el DOMPDF usando composer se creara una carpeta llamada VENDOR y debemos de respetar la ruta de archivos para que no emita ningún error.

Múltiples opciones de exportar un documento PDF en PHP

A continuación, veremos 3 formas prácticas para convertir un archivo o script HTML a documento PDF a través del lenguaje PHP.

Relacionado  3 formas de configurar Header y Footer DOMPDF

Generar PDF guardado en disco de servidor

Para generar y guardar un documento PDF, se debe crear una instancia de Dompdf e invocar a loadHtml. Por lo tanto, le hemos pasado el código HTML como string e invocar a render (esta función convertirá el HTML a PDF), generando un PDF con PHP y guardando el PDF en la raíz del proyecto.

<?php
// Declaramos las librerias necesarias para de dompdf
include_once "./vendor/autoload.php";
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>¡Hola mundo!</h1><br><a href="https://baulphp.com">Blog BaulPHP.com</a><br><hr>');
$dompdf->render();
$contenido = $dompdf->output();
// Asignamos nombre de archivo con la función RAND()
$nombreDelDocumento = rand()."_hola-mundo.pdf";
$bytes = file_put_contents($nombreDelDocumento, $contenido);
?>

Explicación del código anterior

Para generar el contenido invocamos a la función output() y ese contenido puede ser escrito y guardado en el disco duro con file_put_contents.

Relacionado  3 formas de configurar Header y Footer DOMPDF

Al archivo generado le podemos asignar un nombre a través de la variable $nombreDelDocumento

Generar PDF y guardarlo en el disco con dompdf

Generar PDF y guardarlo en el disco con dompdf

Crear PDF en vista Navegador

En el ejemplo de arriba vimos cómo guardar el PDF en el disco duro. Sin embargo, ahora podemos mostrarlo directamente en el navegador; para ello mostramos algunos encabezados para mostrar el PDF en el navegador y después imprimimos su contenido:

<?php
// Declaramos las librerias necesarias para de dompdf

include_once "./vendor/autoload.php";
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>¡Hola mundo!</h1><br><a href="https://baulphp.com">Blog BaulPHP.com</a><br><hr>');
$dompdf->render();
header("Content-type: application/pdf");
//Asigmanos el nombre al archivo desde vista navegador usando la funcion TIME()
header("Content-Disposition: inline; filename=".time()."_Hola_Mundo.pdf");
echo $dompdf->output();
?>
Vista desde el navegador genrar PDF dompdf

Vista desde el navegador genrar PDF dompdf

FORZAR DESCARGA DOMPDF

Para forzar la descarga tenemos que usar el método STREAM y se implementa de la siguiente manera $dompdf->stream(); esta opción ofrece DOMPDF para descargar un fichero desde el navegador web. Veamos un ejemplo de implementación a continuación:

<?php
// Declaramos las librerias necesarias para de dompdf

include_once "./vendor/autoload.php";
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>¡Hola mundo!</h1><br><a href="https://baulphp.com">Blog BaulPHP.com</a><br><hr>');
$dompdf->render();
// Asignamos nombre al fichero a descargar
$dompdf->stream(time()."_Hola_Mundo.pdf");

?>
Forzar descarga DOMPDF desde navegador

Forzar descarga DOMPDF desde navegador

Conclusión

En este articulo hemos aprendido a generar PDF con PHP de 3 formas sencillas a través de HTML, respetando estilos CSS para darle buena forma a los PDF creados con PHP.

Relacionado  3 formas de configurar Header y Footer DOMPDF

Además, se puede implementar consultas SQL, Método POST o método GET para solicitar información desde una base de datos, siempre y cuando tengamos una conexión hacia MySQL o MariaDB.

Si deseas usar estilos se podría usar el framework Bootstrap y con estilos CSS para darle una interfaz profesional.
Para finalizar, también se puede colocar encabezados y pie de páginas dinámicas con esta librería llamada DOMPDF si desean pueden visitar el siguiente link que hablo sobre el tema.

Espero que esta explicacion les ayude en sus proyectos web y no se olviden de compartir en las redes sociales.

Descargar

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Nestor Tapia

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Estaremos encantados de escuchar lo que piensas

Deje una respuesta

BaulPHP
Logo
Shopping cart