Membuat laporan dengan domPDF pada Laravel

Setelah berhasil membuat proses CRUD selanjutanya hal yang tidak kalah penting adalah pembuatan laporan, untuk membuat laporan kita akan menggunakan sebuah plugin DOMPDF, plugin tersebut dapat anda install menggunakan composer, berikut adalah langkah-langkah instalasi DOMPDF pada laravel.
  1. Buka CMD kemudian masuk kedalam project laravel anda.
  2. Setelah masuk kedalam proejct silahkan masukan perintah berikut : composer require barryvdh/laravel-dompdf kemudian tekan enter dan tunggu sampai proses instalasi selesai.
berikutnya kita akan memodifikasi settingan pada config/app.php untuk melakukan konfigurasi DOMPDF agar terbaca oleh aplikasi yang kita buat. buka config/app.php pada project anda kemudian tambahkan pengaturan sebagai berikut :

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

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


Tambahkan/modfikasi route pada folder route/web.php menjadi seperti berikut :


Auth::routes();
Route::group(['prefix' => 'admin', 'as' => 'admin.', 'namespace' => 'Admin'], function () {
    Route::resource('/users', UserController::class);
    Route::resource('/posts', PostController::class);
    Route::get('/user/{id}', [UserController::class, 'show']);
    Route::get('posts-cetak', 'PostController@cetak')->name('cetak');
});


pada file web.php diatas kita menambahkan sebiuah route baru untuk melakukan cetak pdf dengan nama fungsi cetak_pdf pada Post Controller.php, untuk itu mari kita buka controller tersebut untuk menambahkan fungsi cetak() :
    public function cetak()
    {

        $posts = Post::all();
        $pdf   = PDF::loadview('posts.laporan_pdf', ['posts' => $posts]);
        return $pdf->download('laporan-post.pdf');
    }

Jangan lupa untuk menambahkan use PDF; dibawah namespace. pada coding diatas diatas terdapat sebuah fungsi PDF::loadview fungsi tersebut untuk menentukan lokasi file laporan yang akan kita cetak, pada coding diatas file laporab berada pada view mahasiswa.mahasiswa_pdf yang berarti berada di view laporan dan nama fielnya adalah mahasiswa_pdf.blade.php, silahkan tambahkan terlebih dahulu file tersebut jika sudah kita akan membuat design laporan untuk meampilkan data. design file tersebut sebagai berikut :

<!DOCTYPE html>
<html>
<head>
	<title>Membuat Laporan PDF Dengan DOMPDF Laravel</title>
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
	<div class="container">
		<h1>Laporan Posts</h1>
		<table class="table table-bordered">
            <tr>
                <th width="20px" class="text-center">Title</th>
                <th>Content</th>
            </tr>
            @foreach ($posts as $post)
            <tr>
                <td>{{$post->title }}</td>
                <td>{{$post->content}}</td>
            </tr>
            @endforeach
        </table>
	</div>
</body>
</html>


Langkah terakhir kita akan menambahkan tombole cetak pdf pada view/posts/index.blade.php berikut adalah coding untuk menambahkan tombol tersebut :
<div class="float-right">
<a class="btn btn-success" href="{{ route('admin.posts.create') }}"> Create Post</a>
<a class="btn btn-info" href="{{ route('admin.cetak') }}"> Cetak Post</a>
</div>
Silahkan jalankan program anda dan tekan tombol Cetak PDF. Selesai.

hasilnya seperti berikut :
Membuat laporan dengan domPDF pada Laravel
Membuat laporan dengan domPDF pada Laravel




Posting Komentar untuk "Membuat laporan dengan domPDF pada Laravel"