Tanggal :19 Juni 2021

Membuat Laporan PDF Dengan Laravel 7

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:

Membuat Laporan PDF Dengan Laravel 7

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

Programmer, Pengajar, Penulis Tutorial, Content Creator dan Kontributor di Kawan Koding

11 Comments

  1. Hilmi Hidayat Reply

    Kalo cetak pdf berdasarkan pencarian/filter gimana mas ? sperti di datatable misalnya

  2. Rahadian Reply

    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 ?

  3. skidipapap Reply

    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 ?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *