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' => 'budis@ndukzlabs.com', 'telp' => '08512452153' ], [ 'nip' => '45325', 'nama' => 'Rudi Darmawan', 'email' => 'rudid@ndukzlabs.com', 'telp' => '083123243253' ], [ 'nip' => '78546', 'nama' => 'Rizky Putra', 'email' => 'rizky@ndukzlabs.com', '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 serve
lalu 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.
1 Comment