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