Generar PDF en CodeIgniter 3 con Dompdf

En este artículo, aprenderá cómo Generar PDF en CodeIgniter 3 usando la libreria de Dompdf  PDF es el formato más utilizado para generar PDF para factura en la aplicación web. El archivo PDF proporciona una manera fácil y fácil de usar para descargar el conjunto de registros en un archivo de formato pdf. Antes de descargar …

Generar PDF en CodeIgniter 3 con Dompdf Leer más »

codeigniter logo

En este artículo, aprenderá cómo Generar PDF en CodeIgniter 3 usando la libreria de Dompdf 

PDF es el formato más utilizado para generar PDF para factura en la aplicación web. El archivo PDF proporciona una manera fácil y fácil de usar para descargar el conjunto de registros en un archivo de formato pdf.

Antes de descargar el contenido de los registros de datos web en formato pdf, el contenido debe convertirse de HTML a PDF. Si está trabajando en Codeigniter, entonces tiene problemas para saber cómo hacerlo. Pero en esta publicación voy a compartir un ejemplo muy simple para convertir html a pdf usando la biblioteca DomPDF.

Dompdf es una biblioteca PHP que ayuda a generar archivos PDF a partir de contenido de datos HTML.

Paso 1: Descarga Codeigniter 3

En el primer paso, necesitamos descargar una versión nueva de Codeigniter 3, después de descargar con éxito, extraer la nueva aplicación Codeigniter 3 limpia.

así que si aún no lo ha descargado, descárguelo desde aquí:  Descargue Codeigniter 3 .

Paso 2: Descargue la biblioteca dompdf de GitHub

Dompdf:   descarguemos la biblioteca dompdf desde aquí:  haga clic aquí para descargar dompdf . Después de la descarga, extráigalo a su carpeta «aplicación/bibliotecas» y cámbiele el nombre a  «dompdf» .

Cree el archivo pdf.php en la carpeta «aplicación/bibliotecas» y pegue el siguiente código

<?php defined('BASEPATH') OR exit('No direct script access allowed');

// reference the Dompdf namespace
use Dompdf\Dompdf;
class Pdf
{
    public function __construct(){
        // include autoloader
        require_once dirname(__FILE__).'/dompdf/autoload.inc.php';
        // instantiate and use the dompdf class
        $pdf = new DOMPDF();
        $CI =& get_instance();
        $CI->dompdf = $pdf;
    }
}
?>

Paso 3: Agregar método de controlador

En este paso, necesitamos agregar el método «generar pdf» en el controlador de bienvenida, así que agreguemos con el siguiente código. solo tiene que copiar el archivo del controlador welcome.php:

aplicación/controladores/Bienvenido.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

  /**
    * Get All Data from this method.
    *
    * @return Response
   */

   public function index()
   {
     $this->load->view('welcome_message');
   }

   /**
    * Get Download PDF File
    *
    * @return Response
   */

   function convertpdf(){
    // Get output html
        $html = $this->output->get_output();
        // Load pdf library
        $this->load->library('pdf');
        // Load HTML content
        $this->pdf->loadHtml($html);
        // (Optional) Setup the paper size and orientation
        $this->pdf->setPaper('A4', 'landscape');
        // Render the HTML as PDF
        $this->pdf->render();
        // Output the generated PDF (1 = download and 0 = preview)
        $this->pdf->stream("welcome.pdf", array("Attachment"=>0));
   }

}

Paso 4:  Agregar ruta

agreguemos la siguiente ruta en su archivo route.php.

aplicación/config/routes.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');
  
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['generatepdf'] = "welcome/convertpdf";

Paso 5: Agregar archivo de vista

Ahora, en el último paso, necesitamos crear el archivo de vista «generatepdf.php» para generar el archivo pdf. Por lo tanto, debe copiar el siguiente código y crear en la carpeta de vista:

aplicación/vistas/generarpdf.php

<!DOCTYPE html>
<html>
<head>
<title>Codeigniter 3 - Generate PDF from view using dompdf library with example</title>
</head>
<body>
  <h1>Codeigniter 3 - Generate PDF from view using dompdf library with example</h1>
  <table style="border:1px solid red;width:100%;">
    <tr>
      <th style="border:1px solid red">Id</th>
      <th style="border:1px solid red">Name</th>
      <th style="border:1px solid red">Email</th>
    </tr>
    <tr>
      <td style="border:1px solid red">1</td>
      <td style="border:1px solid red">Jhon</td>
      <td style="border:1px solid red">[email protected]</td>
    </tr>
    <tr>
      <td style="border:1px solid red">2</td>
      <td style="border:1px solid red">Lucy</td>
      <td style="border:1px solid red">[email protected]</td>
    </tr>
  </table>
</body>
</html>

Ahora puede abrir la siguiente URL en su navegador:

http://localhost:8000/generarpdf

Si estás en un servidor en vivo:

 http://tudominio.com/generatepdf

Métodos útiles de Dompdf

Los siguientes son algunos métodos útiles de la biblioteca Dompdf para implementar la funcionalidad de conversión de HTML a PDF.

  • loadHtml(): Carga contenido HTML.
    • $str (cadena) – Obligatorio. Especifique el HTML para cargar.
    • $codificación (cadena) – Opcional. Especifique la codificación.
  • loadHtmlFile(): carga contenido de un archivo HTML.
    • $archivo (cadena) – Obligatorio. Especifique la ruta del archivo para cargar.
  • salida(): Devuelve el PDF como una cadena.
    • $opciones (matriz) – Opcional. Especifique si se habilitará la compresión del flujo de contenido. (comprimir => 1 o 0)
  • render (): renderiza el HTML a PDF.
  • setBasePath(): establece la ruta base para incluir hojas de estilo e imágenes externas.
    • $basePath (cadena): la ruta base que se usará al cargar las URL de recursos externos.
  • setPaper(): establece el tamaño y la orientación del papel.
    • $tamaño (cadena|matriz) – ‘carta’, ‘legal’, ‘A4’, etc.
    • $ orientación (cadena) – ‘retrato’ o ‘paisaje’.
  • stream(): Transmite el PDF al cliente.
    • $filename (cadena) – Especifique el nombre del archivo (sin extensión .pdf).
    • $opciones (matriz) –
      • ‘compress’ => 1 o 0: habilita la compresión del flujo de contenido.
      • ‘Adjunto’ => 1 = descargar o 0 = vista previa

¿Si deseas obtener ayuda para la implementación, modificación o ampliar la funcionalidad de como Generar PDF en CodeIgniter 3 con Dompdf? Enviar solicitud de servicio pagado

Compartir

Sobre el autor

Deja un comentario

Scroll al inicio