Membuat Laporan Pdf Laravel – Salah satu cara untuk membuat cetak laporan PDF pada laravel adalah kita bisa menggunakan library DOMPDF.
DOMPDF adalah library PHP yang bisa digunakan untuk membuat laporan PDF dengan PHP. DOMPDF bekerja dengan cara mengubah halaman menjadi file PDF.
Pada Framework Laravel terdapat package yang dapat kita gunakan untuk membuat laparan pdf yang bernama Laravel-Dompdf.
Membuat Laporan PDF Dengan DOMPDF Laravel
Disini kita masih menggunakan project “ANISA” yang sudah kita install pada tutorial CRUD Laravel sebelumnya.
1. Membuat Table
Tabel yang digunakan adalah tabel santri
2. Membuat Model
Model untuk tabel santri dengan nama SantriModel.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Santri extends Model
{
use HasFactory;
protected $table = 'santri';
protected $primaryKey = 'id_santri';
protected $fillable = ['nm_santri', 'tmp_lahir', 'tgl_lahir', 'alamat', 'no_hp'];
}
3. Installasi laravel-dompdf Package
Kita akan mendownload package DOMPDF Laravel menggunakan composer. Silahkan buka terminal atau command line Anda, masuk ke direktori project laravel dan ketik perintah composer berikut ini:
composer require barryvdh/laravel-dompdf
Tunggu sampai prosesnya selesai, kemudian akan kita integrasikan dengan project laravel kita. Buka file app.php
yang terletak dalam direktori config/app.php
.
Tambahkan kode berikut pada bagian providers dan aliases agar Laravel mengenali package DOMPF seperti di bawah ini:
'providers' => [
....
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
....
'PDF' => Barryvdh\DomPDF\Facade::class,
]
4. Membuat Route
Kita butuhkan route seperti berikut:
Route::get('santri/cetak', [SantriController::class, 'cetaksantri'])->name('cetaksantri')->middleware('auth');
5. Membuat Controller
Selanjutnya pada controller SantriController.php tambahkan kode berikut ini:
public function cetaksantri()
{
$santri = SantriModel::select('*')
->get();
$pdf = PDF::loadView('cetaksantri', ['santri' => $santri]);
return $pdf->stream('Laporan-Data-Santri.pdf');
}
Jangan lupa pada SantriController.php di bagian paling atas tambahkan kode:
use PDF;
Sehingga pada SantriController kita menjadi seperti ini:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\SantriModel;
use PDF;
class SantriController extends Controller
{
public function cetaksantri()
{
$santri = SantriModel::select('*')
->get();
$pdf = PDF::loadView('cetaksantri', ['santri' => $santri]);
return $pdf->stream('Laporan-Data-Santri.pdf');
}
}
6. Tombol Cetak
Menambahkan tombol cetak pdf pada halaman menampilkan daftar data santri.
<a class="btn btn-default" href="{{route('cetaksantri')}}" target="_blank"><i class="fa fa-print"></i> Cetak PDF</a>
7. Membuat View
Membuat halaman HTML dengan Blade template yang akan menjadi laporan pdf kita. Nama filenya cetaksantri.blade.php
<h3><center>Laporan Data Santri</center></h3>
<table border="1" cellspacing="0" cellpadding="5">
<tr>
<th>#ID</th>
<th>Nama Satri</th>
<th>Tempat Lahir</th>
<th>Tanggal Lahir</th>
<th>Alamat</th>
<th>No. Hp</th>
</tr>
@foreach($santri as $s)
<tr>
<td>{{$s->id_santri}}</td>
<td>{{$s->nm_santri}}</td>
<td>{{$s->tmp_lahir}}</td>
<td>{{$s->tgl_lahir}}</td>
<td>{{$s->alamat}}</td>
<td>{{$s->no_hp}}</td>
</tr>
@endforeach
</table>
8. Hasil Cetak PDF
Sekian tutorial Membuat Laporan pdf dengan Dompdf Laravel. Artikel ini adalah sebagai dokumentasi pribadi saya sehingga bahasa dan penulisannya dibuat singkat.
Semoga bisa bermanfaat untuk Anda.
bang tolong buatkan totorial bikin data keluar pertanggal di laravel
Bagaimana agar cara Laporan Data Santri selalu ada dihalaman selanjutnya