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
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
php artisan make:controller LaporanController
<?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
<!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>
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.
Tampilan halaman laporan |
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.
Posting Komentar