Tutorial Laravel – Cetak PDF Di Laravel Dengan DOMPDF

Dipublikasikan oleh El Cicko pada

cetak pdf di laravel dengan dompdf

Export dan juga cetak data sangat penting pada sebuah aplikasi agar user dapat mencetak laporan yang dihasilkan dari database.

Nah, pada tutorial kali ini saya akan membahas tentang bagaimana cara untuk mencetak data berupa PDF di Laravel dengan menggunakan plugin DOMPDF. Pada tutorial kali ini kita akan menggunakan Laravel 4.2.

DOMPDF adalah sebuah plugin yang berfungsi untuk mengkonversi data HTML menjadi sebuah output PDF. Untuk dapat menggunakan mencetak PDF di Laravel dengan menggunakan DOMPDF, kita memerlukan package dari barryvdh yaitu laravel-dompdf.

Package ini tersedia untuk Laravel versi 4.x atau juga Laravel versi 5. Kamu dapat menginstall package tersebut untuk versi 4.x di halaman Githubnya yaitu laravel-dompdf. Nah mulai aja yuk untuk instalasinya.

Pertama, kita membutuhkan composer untuk menginstall package tersebut. Buka file composer.json lalu masukkan baris berikut pada bagian require :

“barryvdh/laravel-dompdf”: “0.4.*”

Lalu buka terminal / command prompt lalu arahkan pada direktori tempat aplikasi kamu berada, update composer dengan perintah berikut :

composer update

Setelah instalasi selesai, kita ubah file app.php di direktori app/config. Tambahkan baris berikut pada bagian Provider :

‘Barryvdh\DomPDF\ServiceProvider’,

Jika sudah selesai, kita tinggal melakukan publish file konfigurasinya, ketikkan perintah berikut pada terminal / command prompt :

php artisan config:publish barryvdh/laravel-dompdf

Perlu diingat, jika kamu melakukan perubahan pada file konfigurasi tersebut kamu perlu mengetik perintah diatas lagi untuk melihat perubahan pada output PDF yang akan kita cetak. Sekarang kita sudah dapat menggunakan mencetak PDF di Laravel dengan DOMPDF.

Kita akan menggunakan source code dari artikel lama saya tentang tutorial CRUD dasar Laravel, kamu bisa clone scriptnya di halaman Github saya. Sekarang kita akan menambahkan method pada controller ProvinsiController.php. Tambahkan code berikut ini :

public function pdf() {
    // ambil semua data
    $provinsi = Provinsi::all();
    // mengarahkan view pada file pdf.blade.php di views/provinsi/
    $view = View::make('provinsi.pdf', array('provinsi' => $provinsi, 'i' => 0))->render(); 
    // panggil fungsi dompdf
    $pdf = App::make('dompdf');
    // set ukuran kertas dan orientasi
    $pdf->loadHTML($view)->setPaper('a4')->setOrientation('potrait');
    // cetak
    return $pdf->stream();
}

Output dari PDF di Laravel dengan DOMPDF adalah sebagai berikut :

output-pdf-laravel

Sederhana bukan ? kamu bisa mendownload full source code pada tutorial ini pada link dibawah ini. Silahkan dicoba dan semoga bermanfaat 😀

download


El Cicko

Nama saya Riky Fahri Hasibuan, Saya yang biasa nulis di blog ini. Blog ini adalah sarana dokumentasi dari apa yang saya kerjakan dan tidak ada salahnya juga saya sebarkan. Jika artikel di blog bermanfaat, kamu bisa memberikan apresiasi pada blog ini dengan memberikan donasi pada blog ini.

9 Komentar

hilmiazmif · Agustus 5, 2016 pada 9:01 am

cara mengatur halaman dan ukuran kertas dimana ya?

    anonim · Agustus 6, 2016 pada 3:48 pm

    kalau set font gimana?

    El Cicko · Agustus 6, 2016 pada 4:32 pm

    untuk set ukuran kertas bisa pake milimeter
    $pdf->loadHTML($view)->setPaper([0, 0, 453.543, 425.197],'potrait');
    kalau untuk ukuran kertas standar bisa pake
    $pdf->loadHTML($view)->setPaper('A4')->setOrientation('potrait');

Defrian · Agustus 7, 2016 pada 2:04 pm

itu laravel versi 4 ya mas?
kalau versi 5 gimana?

    El Cicko · Agustus 8, 2016 pada 1:47 pm

    Code Syntaxnya tinggal disesuaikan aja dengan Laravel 5, untuk intalasi dan konfigurasinya ga jauh beda koq

Eries Herman · Desember 4, 2016 pada 6:26 am

jika menggunakan css external bagaimana ya saya selalu error jika menggunakan css & font external (contohnya pake bootstrap)…

Mikhail Yazid Bustomi · Januari 12, 2017 pada 6:06 pm

gan kok ga work yah di laptop ane, padahal udah ngikutin sesuai instruktur yg diatas

geek · Februari 23, 2017 pada 3:09 pm

gan, kalau menampilkan data berdasarkan tahun yg terseleksi bgmn

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *