Exportar PDF
Exportar a PDF en Laravel
Exportar un documento en formato PDF es posible mediante la librería DOMPDF. Para ello es necesario instalarla, registrar la clase en el array providers y registrar el alias en el array aliases del archivo config/app.php.
INSTALAR DOMPDF
composer require barryvdh/laravel-dompdf
REGISTRAR
Registrar providers
Barryvdh\DomPDF\ServiceProvider::class,
Registrar aliases
'PDF' => Barryvdh\DomPDF\Facade::class,
CREAR VISTA
Con la librería instalada y registrada se puede ya crear la vista añadiendo los estilos si es necesario con la etiqueta style, ya que el PDF generado interpretará todas las etiquetas html.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
h1{
text-align: center;
text-transform: uppercase;
}
.contenido{
font-size: 20px;
}
#primero{
background-color: #ccc;
}
#segundo{
color:#44a359;
}
#tercero{
text-decoration:line-through;
}
</style>
</head>
<body>
<h1>Titulo de prueba</h1>
<hr>
<div class="contenido">
<p id="primero">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore nihil illo odit aperiam alias rem voluptatem odio maiores doloribus facere recusandae suscipit animi quod voluptatibus, laudantium obcaecati quisquam minus modi.</p>
<p id="segundo">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore nihil illo odit aperiam alias rem voluptatem odio maiores doloribus facere recusandae suscipit animi quod voluptatibus, laudantium obcaecati quisquam minus modi.</p>
<p id="tercero">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore nihil illo odit aperiam alias rem voluptatem odio maiores doloribus facere recusandae suscipit animi quod voluptatibus, laudantium obcaecati quisquam minus modi.</p>
</div>
</body>
</html>
CREAR RUTA
El siguiente paso será crear la ruta desde el archivo de rutas
Route::name('print')->get('/imprimir', 'GeneradorController@imprimir');
CREAR MÉTODO
Por último se crea el método desde el controlador que es el que realiza la llamada del método loadView pasando como parámetro la vista que será cargada y a continuación se realiza la llamada al método download (pasando como parámetro el nombre) que quedará asignado en la descarga del archivo.
public function imprimir(){
$pdf = \PDF::loadView('ejemplo');
return $pdf->download('ejemplo.pdf');
}
Al igual que al exportar en formato Excel, DOMPDF permite pasar datos. Así pues, de la misma manera que si fuera una vista normal y corriente se pasan los datos desde el controlador.
public function imprimir(){
$pdf = \PDF::loadView('ejemplo',compact("datos");
return $pdf->download('ejemplo.pdf');
}
Fuente: Extraído de NIGMACode por José Luís Guisado.
Para poder comentar es necesario iniciar sesión