Membuat atau generate sebuah laporan pada suatu aplikasi merupakan sesuatu yang bisa dikatakan wajib. Salah satu opsi yang biasa dipakai dalam generate sebuah laporan adalah ke dalam bentuk Laporan PDF di Laravel.
Nah, pada tutorial ini kita akan sama-sama belajar. bagaimana membuat laporan dalam bentuk PDF menggunakan laravel 7. kita akan memanfaatkan sebuah package laravel-dompdf. langsung saja install package dimaksud dengan melakukan perintah seperti berikut:
composer require barryvdh/laravel-dompdf
tunggu proses installnya hingga selesai. kemudian buka routes/web.php
dan buat routing seperti berikut:
Route::get('/', function () {
return view('index');
});
dengan routing seperti diatas maka halaman awal web kita akan mengarah ke file index
. berikutnya kita buat file dengan nama index.blade.php
pada resources\views . isikan dengan kode html. agar tampilannya lebih menarik kita tambahkan CDN Bootstrap pada bagian head seperti berikut:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" >
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
lalu pada bagian body kita tambahkan tabel yang nantinya akan kita generate 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>
pada bagian bawah juga kita tambahkan sebuah tombol untuk melakukan cetak atau print . tampilan yang kita buat akan menjadi seperti berikut:

langkah berikutnya kita akan membuat sebuah controller, dengan perintah berikut:
Php artisan make:controller PdfController
pada PdfController yang baru kita buat tadi, kita buat fungsi untuk melakukan generate ke PDF seperti berikut:
public function print()
{
$pdf = PDF::loadview('index')->setPaper('A4','potrait');
return $pdf->stream();
}
di bagian atas jangan lupa untuk memasukkan use seperti berikut:
use PDF;
langkah terakhir adalah kita buat sebuah routing agar kalau tombol print di klik maka akan melakukan export ke bentuk PDF
Route::get('/pdf', 'PdfController@pdf')->name('print');
Sekarang teman-teman bisa melakukan percobaan dan lihat hasilnya.
bagaimana ? mudah bukan. atau kawan-kawan juga bisa melihat yang versi video disini ya
Sekian dulu tutorialnya. semoga bermanfaat
yang excel bang ?
Ditunggu aja bang, semoga ada waktu buat nulisnya ya…
Kalo cetak pdf berdasarkan pencarian/filter gimana mas ? sperti di datatable misalnya
berarti tinggal dilakukan query saja pada datanya, disamakan dr hasil filter
gimana itu mas contohnya,? hehe
Mas saya baca-baca di internet dompdf ini slow banget kadang error kalo pake “artisan serve” beda dengan langsung Apache dari XAMPP katakanlah, emang gitu ya ?
Saya belum pernah coba, ya mungkin bisa jadi karena built in server php beda dg server yang memang langsung digunakan seperti apache / nginx
laravel 7 pake dompfdt ngga di daftarin ke config app ya min ?
itu auto discover sudah ada sejak Laravel 5.5
Min mau nanya, punya saya loading mulu ketika mulai export ke pdf. Beberapa saya liat di stackoverflow permasalahannya di external css. Maksudnya itu gimana ya min ?
Mungkin mas menggunakan template css misal bootstrap?
punya saya kenapa eror ya min?
The exit status code ‘1’ says something went wrong: stderr: “The system cannot find the path specified. ” stdout: “” command: /usr/local/bin/wkhtmltopdf –lowquality –orientation “portrait” –page-size “A4” “C:\Users\RPL\AppData\Local\Temp\knp_snappy6062d33f773192.53873357.html” “C:\Users\RPL\AppData\Local\Temp\knp_snappy6062d33f792ed9.23725140.pdf”.