Tutorial Laravel #37 : Membuat Laporan PDF Dengan DOMPDF Laravel


Membuat Laporan PDF Dengan DOMPDF Laravel – Halo selamat datang kembali di seri tutorial laravel lengkap berbahasa indonesia. di malasngoding.com. pada tutorial ini kita akan belajar tentang cara membuat cetak/export pdf dengan laravel menggunakan DOMPDF. jadi lebih tepatnya kita akan belajar membuat laporan PDF dengan DOMPDF Laravel dan Database MySQL.

PDF masih menjadi semacam fitur yang paling dibutuhkan pada sebuah aplikasi atau sistem informasi. dengan tujuan untuk membuat cetak data, atau export data menjadi laporan yang berbentuk pdf.

Jadi, Pada seri tutorial laravel lengkap untuk pemula dasar sampai mahir ini, juga akan dimasukkan materi untuk cara membuat cetak laporan PDF dengan DOMPDF Laravel.

Yuk langsung simak penjelasan tentang cara membuat export pdf pada laravel berikut ini.

Membuat Laporan PDF Dengan DOMPDF Laravel

Salah satu cara untuk membuat cetak laporan PDF pada laravel, kita bisa menggunakan library DOMPDF. mungkin sebelumnya teman-teman sudah pernah menggunakan dan familiar dengan DOMPDF. pada saat membuat laporan PDF atau cetak laporan dengan PDF. dulu mungkin pada saat pertama kali belajar PHP Dasar.

DOMPDF adalah library PHP yang bisa digunakan untuk membuat laporan PDF dengan PHP. DOMPDF bekerja dengan cara mengubah halaman menjadi file PDF.

DOMPDF juga tersedia dan bisa kita gunakan pada laravel. dan cara menggunakan DOMPDF Laravel pun sangat mudah.

Kita akan mulai dengan membuat persiapan data yang akan kita jadikan sebagai contoh data yang akan kita cetak menjadi file pdf dengan laravel.

Persiapan Data

Untuk mempersiapkan data contohnya, mari kita buat sebuah table baru. di sini saya membuat sebuah table baru dengan nama “pegawai“. dan kemudian pada table pegawai tersebut kita isi data-data pegawai sebagai contoh.

Persiapan Data Dengan Migration, Faker dan Seeder

Di sini saya membuat table pegawai mengunakan migration laravel. Kenapa saya buat contoh dengan menggunakan migration?

Agar kita sedikit flashback ke materi belajar laravel sebelumnya. agar teman-teman juga lebih mendapat pengertian lebih tentang kegunaan dari migration, seeder dan faker pada laravel.

Silahkan baca kembali tutorial sebelumnya tentang migration laravel jika teman-teman lupa atau mungkin belum membacanya.

ketik perintah artisan berikut untuk membuat model untuk pegawai dan sekaligus membuat file migration nya.

Kemudian buka file migration create_pegawais_table yang barusan sudah dibuat otomatis. ubah nama table yang akan kita buat menjadi “pegawai” seperti pada gambar berikut ini. karena secara default laravel menerapkan penamaan dengan kata jamak dalam bahasa inggris (menggunakan s).

Segala sesuatu tentang migration dan model sudah pernah dibahas pada tutorial laravel sebelumnya, silahkan baca kembali jika teman-teman belum membaca materi tentang migration di malasngoding.com.

membuat table dengan migration

membuat table dengan migration

Di sini kita akan membuat table pegawai dengan kolum id, nama, email, alamat, telepon dan pekerjaan. kemudian ketik perintah artisan berikut untuk menjalankan migration.

export pdf dengan laravel

export pdf dengan laravel

Oke sampai di sini kita sudah mempunyai table pegawai seperti pada gambar di atas.

Waktunya kita isi dengan Faker dan Seeder Laravel.

BACA : Tutorial Laravel #14 : Seeding dan Faker Laravel

Untuk membuat dan menginput data palsu dengan faker, kita buat dulu sebuah seeder baru dengan nama PegawaiSeeder.

Karena kita akan menginput data ke table pegawai, maka buka model Pegawai.php yang sudah kita buat sebelumnya karena kita akan mengatur beberap pengaturan.

app/Pegawai.php

Pada model Pegawai.php ini kita memberitahukan laravel bahwa nama table yang kita gunakan adalah “pegawai”, jika tidak laravel akan menganggap table yang akan diproses adalah table dengan nama “pegawais”. baca tutorial sebelunnya tentang model laravel.

Dan kita juga mengisi variabel $fillable (kolum yang kita perbolehkan untuk diisi) yaitu nama, email, alamat, telepon dan pekerjaan.

BACA KEMBALI : Tutorial Laravel #20 : Eloquent Laravel

ketik perintah artisan berikut

Kemudian buka file seeder yang baru dibuat barusan (PegawaiSeeder.php).

database/seeds/PegawaiSeeder.php

Pada seeder ini kita menggunakan Faker untuk membuat data palsu atau data contoh. dan kita menginput data nama, email, alamat, telepon dan pekerjaan sebanyak 20 buah data.

silahkan teman-teman baca tutorial sebelumnya tentang Faker di malasngoding.com.

BACA : Tutorial Laravel #14 : Seeding dan Faker Laravel

Oke, selanjutnya kita jalankan seeder nya dengan perintah artisan. agar laravel membuatkan contoh data pegawai untuk kita.

Maka sekarang kita sudah punya 20 data pegawai yang akan kita gunakan untuk membuat cetak laporan PDF dengan DOMPDF laravel.

cetak pdf dengan dompdf laravel

cetak pdf dengan dompdf laravel

Persiapan Data Dengan Import SQL

Jika teman-teman malas menggunakan migration, faker dan seeder seperti pada sub judul di atas, mungkin teman-teman merasa lama dan ribet.

Maka teman-teman bisa langsung import sql berikut.

Buat table dengan nama Pegawai dan import sql berikut.

pegawai.sql

Sampai di sini kita sudah punya datanya. kita lanjutkan dengan membuat cetak laporan pdf menggunakan DOMPDF Laravel dan database mysql.

Membuat Laporan PDF Dengan DOMPDF Laravel

Karena kita akan membuat pdf dengan DOMPDF laravel, maka langkah pertama yang akan kita lakukan adalah mendownload package DOMPDF terlebih dahulu.

Kita akan mendownload package DOMPDF Laravel menggunakan composer. silahkan buka terminal atau command line teman-teman. masuk ke direktori project laravel nya. dan ketik perintah composer berikut ini.

Tunggu sampai prosesnya selesai. kemudian akan kita integrasikan dengan project laravel kita. buka file app.php yang terletak dalam folder config.

Dan tambahkan package yang baru kita download ini pada bagian providers dan aliases dalam file app.php. agar laravel mengenali package DOMPF ini.

config/app.php

Selanjutnya buat route baru untuk menampilkan data pegawai dari database dan untuk menampilkan data pegawai sebagai pdf.

routes/web.php

Route yang pertama ‘/pegawai‘ akan mengakses method index() dalam controller PegawaiController.php. route kedua ‘/pegawai/cetak_pdf‘ kita perintah untuk mengakses method cetak_pdf() dalam controller PegawaiController.php.

Karena kita belum punya controller PegawaiController.php, maka sekarang buat controller tersebut. saya membuat controller PegawaiController.php menggunakan php artisan.

Setelah selesai membuat controller tersebut, buka file controller tersebut. dan kita buat kedua method yang suda disebutkan di atas tadi.

app/Http/Contollers/PegawaiController.php

Saya jelaskan sedikit. di controller ini kita memanggil use App\Pegawai. karena kita akan berhubungan dengan table dan model pegawai yang sudah kita buat sebelumnya.

Kemudian kita juga memanggil use PDF, untuk memanggil package PDF yang sudah kita deklarasikan sebelumnya pada file config/app.php.

Pada method index() kita mengambil semua data yang ada pada table pegawai. kemudian kita tampilkan dalam view pegawai.blade.php.

Cara menampilkan data dari database dengan Eloquent Laravel sudah pernah kita bahas pada tutorial sebelumnya.

BACA KEMBALI : Tutorial Laravel #20 : Eloquent Laravel

Nah, pada method yang satunya lagi, yaitu method cetak_pdf() kita ambil semua data pegawai dan kita simpan dalam variabel $pegawai.

Kemudian dengan PDF::loadview() kita menggunakan dompdf untuk membuka view nya, kita isi nama view untuk halaman cetak pdf ini degan view pegawai_pdf.blade.php. sambil kita passing data pegawai juga ke view ini.

BACA KEMBALI : Tutorial Laravel #4 : Passing Data Ke View Laravel

Kemudian bagian terakhir kita return fungsi download() dari package dompdf untuk mencetak halaman menjadi file PDF dan mendownloadnya secara otomatis.

Penjelasan pada controller selesai. namun kita belum membuat view pegawai.blade.php dan pegawai_pdf.blade.php nya.

Pada kedua buah view ini kita hanya menampilkan data pegawainya seperti biasa.

buat view baru. yaitu view pegawai.blade.php. dan satu lagi view pegawai_pdf.blade.php.

resources/views/pegawai.blade.php

resources/views/pegawai_pdf.blade.php

Oke mari kita lihat hasil contoh membuat laporan pdf dengan DOMPDF laravel ini.

Jalankan proyek laravel nya

php artisan serve

dan akses route pegawai.

localhost:8000/pegawai

dompdf laravel

dompdf laravel

Oke data pegawai berhasil tampil. dan di view pegawai.blade.php ini kita juga membuat sebuah tombol untuk mengalihkan halaman ke route /pegawai/cetak_pdf. klik tombol “CETAK PDF” tersebut.

Maka file pdf nya akan di download secara otomatis.

Membuat Laporan PDF Dengan DOMPDF Laravel

Membuat Laporan PDF Dengan DOMPDF Laravel

Selesai sudah membuat download PDF dengan dompdf laravel. jika teman-teman tidak ingin file pdfnya di download, dan ingin file pdfnya langsung tampil pada browser, maka teman-teman bisa menggunakan fungsi stream() pada method cetak_pdf() tadi.

Maka hasilnya data pdf akan ditampilkan langsung pada browser.

cetak pdf laravel

cetak pdf laravel

Oke teman-teman, Selesai sudah tutorial Membuat Laporan PDF Dengan DOMPDF Laravel. selanjutnya kita akan masuk ke tutorial membuat import dan export excel pada laravel.

Incoming search terms:

  • tutorial php 7 bahasa indonesia pdf
  • cetak data laravel menjadi excel
  • Laravel pdf
  • buat report laravel
  • cetak pdf laravel
  • contoh membuat laporan
  • convert pdf php laravel
  • dompdf laravel
  • DOMPDF php 7
  • fungsi print di laravel per filter



Diki Alfarabi Hadi

Coding enthusiast. Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.

TUTORIAL MENARIK LAINNYA

action url laravel
laravel localization
Diskusi
8 Komentar
  • Agung 6 months ago

    Selamat malam mas Diki Alfarabi Hadi , salam hormat saya untuk mas karena rela meluangkan waktunya untuk membuat tutorial dan berhasil saya praktekan, saya bantu support dengan komentar positif dan mematikan ads block saya mas.

    Moohon maaf mas, jika berkenan tolong dibuatkan tutorial mengenai menampilkan file pdf menggunakan laravel ini (pdf dapat di baca dalam format txt), dan import export file excel ke mysql atau sebaliknya.

    Terima kasih banyak mas,

    Salam.

  • Tutorial Laravel #38 : Export Excel Laravel – Malas Ngoding 6 months ago

    […] pada tutorial dasar laravel untuk pemula sebelumnya, kita telah belajar tentang cara membuat laporan pdf dengan laravel, maka pada tutorial ini kita masih akan membahas tentang export atau cetak laporan pada laravel. […]

  • Fariz 6 months ago

    Selamat Malam Ka,
    Maaf mengganggu sebelumnya, pengen tanya kalau ini kira2 masalahnya dimana ya?
    Terima Kasih.

    [email protected] c:\xampp\htdocs\inventory-opik
    # composer require barryvdh/laravel-dompdf
    Using version ^0.8.2 for barryvdh/laravel-dompdf
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – Installation request for doctrine/inflector (locked at v1.2.0) -> satisfia
    ble by doctrine/inflector[v1.2.0].

    Installation failed, reverting ./composer.json to its original content.

    [email protected] c:\xampp\htdocs\inventory-opik
    #

    • Diki Alfarabi Hadi 6 months ago

      itu errornya karena mas pakai php versi 5, di suruh upgrade ke php 7 mas, biar bisa pakai library pdf nya

  • Fariz 6 months ago

    Selamat malam mas Diki Alfarabi Hadi ,
    Sebelumnya maaf mengganggu kira2 ini masalahnya sebelah mna ya?

    Terima kasih

    Setting environment for using XAMPP for Windows.
    [email protected] c:\xampp
    # cd htdocs/inventory-opik

    [email protected] c:\xampp\htdocs\inventory-opik
    # composer require barryvdh/laravel-dompdf
    Using version ^0.8.2 for barryvdh/laravel-dompdf
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.36) d
    oes not satisfy that requirement.
    – Installation request for doctrine/inflector (locked at v1.2.0) -> satisfia
    ble by doctrine/inflector[v1.2.0].

    Installation failed, reverting ./composer.json to its original content.

    [email protected] c:\xampp\htdocs\inventory-opik
    #

    • Diki Alfarabi Hadi 6 months ago

      itu errornya karena mas pakai php versi 5, di suruh upgrade ke php 7 mas, biar bisa pakai library pdf nya

  • supi 5 months ago

    siang mas,
    sebelumnya terimakasih banyak ,
    saya sudah coba tutorialnya, berhasil,

    owh iya kalo buat auto print pas di klik gimana mas ??
    maklum masih awam
    terimakasih