Cara Membuat Laporan PDF dengan PHP

Dalam membuat project web atau apapun, nanti diharapkan aplikasi itu bisa menghasilkan output berupa laporan yang bisa berupa dokumen word, excel dan yang paling sering yaitu pdf. Kali ini saya akan berbagi tutorial untuk membuat laporan pdf dengan php menggunakan library dompdf.

Kenapa menggunakan dompdf?


dompdf dapat menjadikan file html biasa menjadi laporan pdf, jadi dalam pembuatan layout laporan Anda dapat menggunakan kode-kode html dan css. Kabar baiknya lagi kalian bisa menggunakan eksternal css atau framework seperti bootstrap dan materialize.

Saya juga pernah memakai fpdf, sayangnya dalam pembuatan layout yang kompleks sangatlah susah. Jadi saya cari aman saja yang penting laporan sesuai dengan permintaan client.

Sebelum lanjut saya harapkan kalian membaca terlebih dahulu dokumentasi dompdf di github.

Pada tutorial ini saya menggunakan dompdf versi 0.7 jika kalian ingin mengetahui seputar dan fitur bisa baca di dompdf release.

Sebelum saya kasih file yang sudah jadi Anda boleh baca-baca dahulu dari dokumentasinya dan coba install sendiri hehe...

Langkah-langkah membuat laporan pdf dengan library dompdf


1. Buat folder dengan nama phppdf kemudian masuk kan file dompdf kalian kesana. Dan buat 1 file bernama index.php
struktur folder membuat laporan pdf
2. untuk file index.php isinya kurang lebih seperti di bawah ini. Hanya sebagai contoh, kalian bisa sesuaikan dengan project Anda.

<?php 
 require_once("dompdf/autoload.inc.php");
 use Dompdf\Dompdf;
 $data[] = array("Nama"=>"Made Ari Sudarma", "Kelas"=>"6C MI", "IPK"=>"3");
 $data[] = array("Nama"=>"Ananta", "Kelas"=>"6C MI", "IPK"=>"3");
 $data[] = array("Nama"=>"Ian Rizky", "Kelas"=>"6C MI", "IPK"=>"3");

 $html="<!DOCTYPE html>
 <html>
 <head>
  <title></title>
  <link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'>
 </head>
 <body>";

 $html .="<div class='text-center'>
   <h1>Data Mahasiwa</h1>
   </div>";

 $html .="<table class='table table-condensed'>
    <thead><tr><th>No.</th><th>Nama</th><th>Kelas</th><th>IPK</th></tr></thead>";
 $i=1;
 foreach ($data as $row) {
  $html .="<tr><td>".$i."</td><td>".$row['Nama']."</td><td>".$row['Kelas']."</td><td>".$row['IPK']."</td></tr>";
  $i++;
 }

 $html .="</table></body>
 </html>";

  $namefile = time();
  $dompdf = new DOMPDF();
        $dompdf->set_paper('A4', 'landscape');
        $dompdf->load_html($html);
        $dompdf->render();

        //buat page number
        $font = $dompdf->getFontMetrics()->get_font("Arial", "bold");
        $dompdf->getCanvas()->page_text(420, 550, "Page {PAGE_NUM}/{PAGE_COUNT}", $font, 10, array(0,0,0));
        
        ob_end_clean();

        $dompdf->stream(''.$namefile, array('Attachment'=>0));
        $output = $dompdf->output();
        file_put_contents('directory/'.$namefile, $output);
 ?>



Penjelasan:
- Attachment => 0 artinya sebelum di print atau download program akan menampilkan preview. Agar langsung bisa di download tanpa preview bisa kasi nilainya 1.
-file_put_contents ini fungsinya untu mengatur folder mana yang akan menyimpan hasil laporan pdf kalian.

Untuk yang lainnya kalian yang sering menggunakan PHP pasti mengerti, seperti pembuatan object dan class.

Untuk contoh hasil laporan pdf dari code di atas dapat dilihat pada gambar di bawah ini:
contoh laporan pdf dengan php

Kesimpulan:


Bagia Anda yang menggunakan composer dalam projectnya pasti lebih mudah dalam menginstall library dompdf. Tutorial ini hanya untuk Anda yang menggunakan PHP Native, update selanjutnya akan saya bahas tentang pembuatan laporan pdf menggunakan framework php yakni codeigniter.

Sekian artikelnya, semoga membantu jangan lupa bagikan jika bermanfaat dan komen jika belum paham. Hubungi saya lewat kontak blog ini, pasti saya jawab dengan cepat.

Artikel Terkait

2 komentar

Bagi source codenya bang

Ada email bang? Saya share via google drive entar


EmoticonEmoticon