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

  1. composer require barryvdh/laravel-dompdf

REGISTRAR

Registrar providers

  1. Barryvdh\DomPDF\ServiceProvider::class,

Registrar aliases

  1. '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.  

  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. h1{
  8. text-align: center;
  9. text-transform: uppercase;
  10. }
  11. .contenido{
  12. font-size: 20px;
  13. }
  14. #primero{
  15. background-color: #ccc;
  16. }
  17. #segundo{
  18. color:#44a359;
  19. }
  20. #tercero{
  21. text-decoration:line-through;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <h1>Titulo de prueba</h1>
  27. <hr>
  28. <div class="contenido">
  29. <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>
  30. <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>
  31. <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>
  32. </div>
  33. </body>
  34. </html>

CREAR RUTA

El siguiente paso será crear la ruta desde el archivo de rutas

  1. 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.

  1. public function imprimir(){
  2. $pdf = \PDF::loadView('ejemplo');
  3. return $pdf->download('ejemplo.pdf');
  4. }

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.

  1. public function imprimir(){
  2. $pdf = \PDF::loadView('ejemplo',compact("datos");
  3. return $pdf->download('ejemplo.pdf');
  4. }

Fuente: Extraído de NIGMACode por José Luís Guisado.

Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso