Descargar archivos PDF en HTML con PHP

John Wachira 15 febrero 2024
  1. Sintaxis de la función header() en PHP
  2. Descargar PDF con enlace HTML usando PHP
Descargar archivos PDF en HTML con PHP

Este tutorial discutirá los pasos para hacer que sus archivos PDF se puedan descargar en enlaces HTML con PHP. Usaremos la función header() de PHP para solicitar a los usuarios que guarden nuestro archivo PDF.

Sintaxis de la función header() en PHP

  1. El encabezado a continuación descargará cualquier aplicación.

    header("Content-Type: application/octet-stream");
    
  2. El encabezado a continuación establecerá la composición y el archivo descargable.

    header('Content-Disposition: attachment; filename="Delft.pdf"');
    
  3. El encabezado a continuación muestra el tamaño del archivo.

    header("Content-Length: " . filesize("Delft.pdf"));
    

Descargar PDF con enlace HTML usando PHP

Intentaremos descargar un PDF(Delft.pdf) en HTML con un script PHP en el siguiente ejemplo. El archivo Delft.pdf está vacío y mostrará un error al abrirlo, le daremos una imagen de cómo vamos con el proceso.

Código de ejemplo: secuencia de comandos HTML:

<!DOCTYPE html>
<html>
   <head>
      <title>Download PDF using PHP from HTML Link</title>
   </head>
   <body>
      <center>
         <h2 style="color:red;">Welcome To DELFT</h2>
         <p><b>Click below to download PDF</b></p>
         <a href="downloadpdf.php?file=Delft">Download PDF Now</a>
      </center>
   </body>
</html>

Código de ejemplo: secuencia de comandos PHP:

<?php
$file = $_GET["file"] .".pdf";
// To Output a PDF file
header('Content-Type: application/pdf');
// PDF will be called Delft.pdf
header('Content-Disposition: attachment; filename="Delft.pdf"');
$imagpdf = file_put_contents($image, file_get_contents($file));
echo $imagepdf;
?>

Producción;

Descargar PDF en HTML Enlace con un script PHP

Descargue PDF en HTML Enlace con una salida de script PHP

El enlace descargará un archivo Delft.pdf, pero como el archivo está vacío, obtendremos un error al intentar abrirlo. Ese es el concepto básico de descargar archivos PDF en enlaces HTML con PHP.

Intentemos descargar y leer el archivo Delft.pdf desde nuestra máquina local. En el siguiente ejemplo, intentaremos descargar un archivo PDF localmente con un enlace HTML.

Código de ejemplo: secuencia de comandos HTML:

<!DOCTYPE html>
<html>
   <head>
      <title>Download PDF using PHP from HTML Link</title>
   </head>
   <body>
      <center>
         <h2 style="color:blue;">Welcome To DELFTSTACK</h2>
         <p><b>Click below to download PDF</b></p>
         <a href="downloadpdf.php?file=Delft">Download PDF Now</a>
      </center>
   </body>
</html>

Código de ejemplo - Script PHP:

<?php
header("Content-Type: application/octet-stream");
$file = $_GET["file"] . ".pdf";
header("Content-Disposition: attachment; filename=" . urlencode($file));
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file));
flush(); // Not a must.
$fp = fopen($file, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush(); // This is essential for large downloads
}
fclose($fp);
?>

Producción;

descargar un archivo PDF localmente con un enlace HTML

descargue un archivo PDF localmente con una salida de enlace HTML

El enlace descargará el archivo Delft.pdf, y abrimos con éxito el archivo. Siempre llame a los encabezados antes de enviar la salida.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn