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