Disetiap program tentu membutuhkan laporan, apalagi juga program yang brkaitan dengan data. Pada Laravel membuat atau generate sebuah laporan sudah mudah dan biasa dipakai dalam generate sebuah laporan adalah bentuk Laporan PDF.
Berikut adalah langkah-langkah membuat laporan di Laravel : Nah, pada tutorial ini kita akan sama-sama belajar. bagaimana membuat laporan dalam bentuk PDF menggunakan laravel 7. kita akan memanfaatkan
1. Download package laravel-dompdf.
kemudian install package tersebut dengan perintah seperti berikut:
composer require barryvdh/laravel-dompdf
Setelah selesai install, maka buka routes/web.php
lalu buat routing seperti berikut:
Route::get('/', function () {
return view('index');
});
Pada sintak diatas akan membuat halaman awal web mengarah ke file index
. Selanjutnya buat file index.simple.php
pada resources\views . isikan kode html. dan tambahkan CDN Bootstrap pada bagian head seperti dibawah ini
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" >
<script src="https://stackpath.boot
Kemudian bagian body tambahkan tabel yang akan digenerate menjadi PDF
<div class="container">
<div class="row">
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">No</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Address</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>Surabaya</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>Sidoarjo</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>Mojokerto</td>
</tr>
</tbody>
</table>
</div>
<div class="row">
<a href="{{ route('print')}}" class="btn btn-sm btn-danger"> Print</a>
</div>
</div>
Bagian bawah ditambahkan tombol untuk melakukan cetak atau print. tampilan yang dibuat menjadi seperti gambar dibawah :
Lalu membuat sebuah controller, dengan perintah berikut:
Php artisan make:controller PdfController
Kemudian pada PdfController, buat fungsi untuk melakukan generate ke PDF seperti berikut:
use PDF;
public function print()
{
$pdf = PDF::loadview('index')->setPaper('A4','potrait');
return $pdf->stream();
}
Setelah itu buat sebuah routing agar tombol print di klik maka akan melakukan export ke bentuk PDF
Route::get('/pdf', 'PdfController@pdf')->name('print');
Silahkan di jalankan dan lihat hasil dari laporan yang sudah digenerate ke Pdf.