Membuat Laporan PDF pada Laravel

Membuat laporan PDF pada Laravel ? Di sini kami akan menjelaskan pembuatan PDF menggunakan dependency DOMPDF

Membuat laporan PDF pada Laravel ? Di sini kami akan menjelaskan pembuatan PDF menggunakan dependency DOMPDF

Biasanya dalam pembuatan aplikasi tidak lepas dari sebuah laporan. Dimana bentuk laporan yang diminta biasanya berbentuk PDF. PDF merupakan salah satu jenis dokumen yang populer digunakan untuk kebutuhan data. Pada tutorial kali ini kami akan menjelasakan bagaimana membuat laporan PDF pada Laravel

Tutorial Membuat PDF pada Laravel

Di sini kami akan menjelaskan pembuatan PDF menggunakan dependency DOMPDF untuk membuat PDF. Pada studi kasus kali ini kita akan membuat laporan data pegawai dengan asumsi kamu sudah memiliki database pegawai.

1. Install DomPDF

Silahkan ketikan perintah di bawah ini pada terminal/command line yang anda pakai pada direktori tempat laravel anda di simpan. Proses di bawah ini akan melakukan pengunduhan file data /package ke dalam projek kita. Hasil dengan mengetikan perintah di bawah ini akan masuk ke folder vendor.

composer require barryvdh/laravel-dompdf

2. Konfigurasi DomPDF

Setelah berhasil melakukan instalasi DomPDF. Langkah selanjutnya adalah melakukan pengaturan DomPDF pada laravel agar dapat berjalan dengan baik dan mudah. Jalankan perintah di bawah ini untuk membuat file config DomPDF

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"

Perintah tersebut akan membuat file pangaturan pada config/dompdf.php. Langkah selanjutnya daftar kan ke dalam provider dan alias pada laravel kita. Cara silahkan buka projek anda dan edit pada file config/app.php. Selanjutnya silahkan isikan baris di bawah ini di dalam provivers dan alias.

'providers' => [
    ....
    Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
    ......
    'PDF' => Barryvdh\DomPDF\Facade::class,
]

Kode di atas berfungsi jika kamu ingin menggunakan DomPDF untuk mengonversi File HTML ke PDF di Laravel dapat menggunakan atribut berikut.

use PDF;

3. Membuat Controller Baru

Kalankan perintah di bawah ini untuk membuat controller baru

php artisan make:controller ExportPdfPegawaiController

Buka file app/Http/Controllers/ExportPdfPegawaiController.php dan ketikkan kode di bawah ini.

<?php
 namespace App\Http\Controllers;
 use Illuminate\Http\Request;
 use PDF;

 class ExportPdfPegawaiController extends Controller
 {
     public function index(){
         $pegawai = [
            [
                'nip' => '54263',
                'nama' => 'Budi Santoso',
                'email' => '[email protected]',
                'telp' => '08512452153'
            ],
            [
                'nip' => '45325',
                'nama' => 'Rudi Darmawan',
                'email' => '[email protected]',
                'telp' => '083123243253'
            ],
            [
                'nip' => '78546',
                'nama' => 'Rizky Putra',
                'email' => '[email protected]',
                'telp' => '081124435653'
            ]
         ];
         $pdf = PDF::loadView('pegawai', compact('pegawai'));
         return $pdf->stream('pegawai.pdf');
     }
 }

4. Membuat View

Buat file blade resources/views/pegawai.blade.php lalu masukkan kode berikut di dalamnya.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Pegawai PDF</title>
</head>
<body>
<h1>Daftar Pegawai</h1>
<table border="1" style="width:100%">
    <thead>
        <tr>
            <th>No.</th>
            <th>NIP</th>
            <th>Nama</th>
            <th>Email</th>
            <th>Telp</th>
        </tr>
    </thead>
    <tbody>
        <?php $no = 1 ;?>
        @foreach ($pegawai as $row)
            <tr>
                <td>{{ $no++ }}</td>
                <td>{{ $row['nip'] }}</td>
                <td>{{ $row['nama']}}</td>
                <td>{{ $row['email']}}</td>
                <td>{{ $row['telp']}}</td>
            </tr>
        @endforeach
    </tbody>
</table>
</body>
</html>

5. Membuat Routing Baru

Buatlah Routing baru di routes/web.php. Routes ini berguna untuk memanggil controller yang telah kita buat tadi agar dapat diakses via URL

Route::get('/export-pdf','ExportPdfPegawaiController@index');

6. Uji Coba Membuat PDF pada Laravel

Setalah semuanya siap. Sekarang silahkan anda jalankan laravel php artisan servelalu buka browser dan akses dengan localhost:8000/export-pdf. Vioola 😀

Penutup

Demikian artikel kali ini, Semoga dapat membantu kamu memahami cara pembuatan pdf di Laravel. Semoga bermanfaat. Terima kasih.