Halo semuanya, kembali lagi di tulisan saya. Pada tutorial kali ini saya akan berbagi tutorial bagaimana cara membuat laporan pdf dengan mudah pada laravel. Bagaimana cara buatnya?, ayo ikuti tutorialnya di bawah ini.


Fitur pelaporan seperti import dan export ke dalam bentuk excel atau pdf adalah fitur yang sangat penting untuk sebuah aplikasi. Pasalnya dengan dihardirkannya fitur-fitur seperti ini data dapat diolah kembali dan dapat diberikan kepada orang-orang yang membutuhkan seperti stakeholder, pihak manajemen, atau client misalnya.

Bayangkan saja jika terdapat ribuan data di dalam sebuah aplikasi, lalu kalian harus menyalinnya secara manual untuk membuat laporan yang akan diberikan kepada pimpinan. Pastinya membutuhkan waktu yang tidak sedikit untuk membuat laporan tersebut dan risiko human error kemungkinan besar terjadi. Maka daripada itu fitur-fitur seperti ini penting dan wajib ada di aplikasi manapun.

Jika kamu adalah seorang programmer, bisa membuat fitur-fitur ini adalah hal yang wajib. tulisan saya telah mengulas dua tutorial yang berkaitan dengan fitur-fitur pelaporan ini, yaitu fitur import data excel dan fitur export data excel pada laravel.

1. Import data excel di laravel: https://www.fromsunda.eu.org/2021/08/cara-import-data-excel-di-laravel.html

2. Export data excel di laravel: https://www.fromsunda.eu.org/2020/11/cara-menggunakan-library-excel-di.html


Untuk melengkapi fitur import dan export data dalam bentuk excel. Kali ini tulisan saya akan membuat tutorial bagaimana cara export data dalam bentuk pdf. yang mana fitur ini sangat berguna di berbagai aplikasi, seperti cetak invoice, cetak rapot, cetak kartu ujian, cetak tiket dan untuk kebutuhan lainnya.


Baca Artikel Lain ✨
📰 1. 5 Alasan Kenapa Anda Wajib Menggunakan Wordpress untuk Mengembangkan Website yang Berhasil read more
📰 2. Cara Proteksi Halaman Login Wordpress dengan Captcha Moodle read more
📰 3. Apa itu Brute Force Attack dan Berikut Tips Manjur Untuk Mencegahnya Komputer read more


Membuat Laporan PDF dengan DOMPDF di Laravel

Pada tutorial kali ini kita akan membuat sebuah halaman HTML biasa lalu terdapat tombol export data ke dalam bentuk PDF. Dan untuk mengenerate laporan pdf kita membutuhkan library yang bernama Laravel DOMPDF. Kalian bisa menggunakan project laravel yang sudah ada atau install project laravel.

Adapun pada tutorial kali ini saya akan menggunakan laravel versi 8. Selain itu, dalam tutorial kali ini saya tidak menggunakan database. Semua data dibuat secara hard code di dalam struktur HTML. Hal ini juga bertujuan untuk mempersingkat penulisan.


1. Install Laravel DOMPDF dan Melakukan Setting

1.1 Buka cmd atau terminal kalian, lalu masuk ke folder atau direktori laravel yang sudah kalian pilih. Selanjutnya jalankan perintah di bawah ini untuk mendownload library DOMPDF. Lalu tunggu hingga proses selesai.


composer require barryvdh/laravel-dompdf


1.2 Buka file app.php di dalam folder config. Lalu tambahkan script di bawah ini di bagian providers.



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


1.3 Masih di dalam file app.php, silahkan kalian tambahkan script di bawah ini di bagian aliases.



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

Penambahan dua script di atas bertujuan agar package mudah digunakan nanti saat dipanggil di dalam controller.



2. Membuat LaporanController

2.1 Buka terminal atau cmd kalian. Lalu jalankan perintah di bawah ini untuk membuat LaporanController


php artisan make:controller LaporanController

2.2 Buka controller yang baru kita buat sebelumnya. Yaitu LaporanController.php di dalam folder app/Http/Controllers lalu tambahkan script di bawah ini ke dalam file controller tersebut.


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use PDF; //library pdf

class LaporanController extends Controller
{
public function index(){
//menampilkan halaman laporan
return view('laporan');
}

public function export(){
//mengambil data dan tampilan dari halaman laporan_pdf
//data di bawah ini bisa kalian ganti nantinya dengan data dari database
$data = PDF::loadview('laporan_pdf', ['data' => 'ini adalah contoh laporan PDF']);
//mendownload laporan.pdf
return $data->download('laporan.pdf');
}
}


3. Membuat Blade Tampil Data

Buatlah sebuah file baru dengan nama laporan.blade.php di dalam folder views. Lalu copy script di bawah ini dan pastekan ke dalam file tersebut.


<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

</head>

<body>
<div class="container mt-4">
<a href="
{{ url('exportlaporan') }}" class="btn btn-success mb-4">Export PDF</a>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div>
</body>

</html>

Tidak ada yang perlu dijelaskan dari script di atas. Karena script di atas hanya html biasa. Hanya saja ada tombol yang nantinya mengarah ke export pdf.


4. Membuat Blade Laporan PDF 

Buatlah sebuah file baru dengan nama laporan_pdf.blade.php di dalam folder views. Lalu copy script di bawah ini dan pastekan ke dalam file tersebut.



<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

</head>

<body>
<div class="container mt-4">
<h3 class="alert alert-success">
{{ $data }}</h3>
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div>
</body>

</html>

Sekilas struktur html yang kita gunakan pada file laporan dan laporan_pdf sama. Tapi ada sedikit hal yang membedakan. Di laporan.blade.php terdapat tombol export pdf sedangkan di laporan_pdf.blade.php terdapat header.



5. Menambahkan Route di web.php

Buka folder routes lalu buka file web.php. Silahkan copy script di bawah ini dan pastekan di dalam file tersebut.



Route::get('/laporan', 'App\Http\Controllers\LaporanController@index');
Route::get('/exportlaporan', 'App\Http\Controllers\LaporanController@export');


Silahkan buka project kalian, jalankan perintah php artisan serve. Lalu buka url http://127.0.0.1:8000/laporan. Jika berhasil maka tampilannya akan tampak seperti gambar di bawah ini.

membuat laporan pdf di laravel
Tampilan halaman laporan


Catatan: Jika terjadi error maximum execution time of 60 seconds exceeded pada saat menekan tombol export pdf, kalian bisa pindahkan projectnya terlebih dahulu ke xampp. Lalu jalankna project memlalui localhost...

membuat laporan pdf di laravel
Tampilan laporan PDF



Bagaimana cukup mudah bukan?, dengan menggunakan DOMPDF kalian bisa mengggunakan desain html yang ada dan mengeneratenya dalam bentuk pdf. Sekian tutorial kali ini tentang cara mudah membuat laporan PDF di laravel dengan DOMPDF. Semoga tutorial kali ini dapat membantu, jika da yang ingin ditanyakan silakan tinggalkan pertanyaan kalian di kolom komentar di bawah ini. Sampai jumpa di tutorial programming seru lainnya.


Post a Comment

Lebih baru Lebih lama