Membuat Laporan (Report) PDF dengan PHP dan HTML2FPDF

Bagi kita yang sering berkecimpung di dunia web development, termasuk saya, tentunya pernah diminta membuat suatu aplikasi yang didalamnya terdapat modul laporan. Dalam hal pembuatan laporan tersebut, terkadang kita kesulitan dalam menentukan format dan library yang akan kita gunakan. Beberapa format laporan yang sering digunakan adalah format HTML (dan CSS), PDF, Image, CSV dan Excel (Spreadsheet). Masing-masing format tersebut memiliki kelebihan dan keterbatasannya masing-masing.

PDF

PDF (Portable Document Format) merupakan salah satu pilihan format laporan yang sering digunakan dalam aplikasi berbasis web. Kelebihannya antara lain formatnya yang standar dan dapat ditampilkan di semua platform sistem operasi (cross platform). Selain itu, format PDF lebih terjamin dari sisi keamanan dan kevalidan data yang disajikan. PDF juga lebih mudah disimpan atau diarsip karena dalam bentuk file. Namun disisi lain, kekurangan dari PDF adalah saat ini masih jarang tersedia library pembuatan PDF berbasis web yang cukup mudah digunakan namun handal.

PHP merupakan bahasa pemrograman berbasis web yang saat ini banyak digunakan dalam membangun aplikasi web. Alasannya karena PHP itu open source (free), mudah dipelajari dan memiliki banyak library untuk berbagai keperluan. Termasuk diantara library yang didukung oleh PHP adalah yang berhubungan dengan manipulasi PDF on-the-fly. Beberapa contoh library PHP untuk manipulasi PDF yaitu FPDF (http://www.fpdf.org), TCPDF (http://www.tcpdf.org), PDFLib dan beberapa library lainnya.

Untuk urusan manipulasi PDF, memang library seperti FPDF dan TCPDF memang cukup handal. Library tersebut dapat digunakan untuk meng-generate file PDF secara on-the-fly di browser. Namun bagi kita yang masih pemula, agak kesulitan dalam mengimplementasikan library tersebut, karena cukup susah dalam penempatan objek-objek laporan, terutama jika laporannya sudah kompleks.

HTML2FPDF

Setelah melakukan pencarian di internet, akhirnya saya menemukan satu class (library) PHP yang cukup handal dan mudah dalam hal pembuatan file PDF. Library tersebut bernama HTML2FPDF, dan beralamat di http://html2fpdf.sourceforge.net/. Pada intinya cara kerja yang dilakukan oleh library tersebut adalah mengubah perintah-perintah HTML menjadi PDF. Jadi, bagi kita yang akan membuat laporan cukup membuatnya melalui perintah-perintah HTML yang tentunya kita sudah lebih familiar. Selanjutnya kita tinggal “menyuruh” librari HTML2FPDF untuk mengubahnya menjadi file PDF. Cukup mudah kan?

Cara Kerja HTML2FPDF

HTML2FPDF sendiri menggunakan library FPDF dalam hal pembuatan file PDF. Sehingga selain class-nya, kita juga memerlukan library dari FPDF di server kita. HTML2FPDF dapat didapatkan dari situs resminya di http://html2fpdf.sourceforge.net/ secara cuma-cuma (gratis). Namun di situs tersebut tidak disertakan library FPDF, jadi kita harus menambahkannya sendiri. Sebagai alternatif, Anda dapat mendapatkan versi lengkap dari library HTML2FPDF (termasuk FPDF dan beberapa contoh programnya) di alamat berikut ini


HTML2FPDF

Contoh Penggunaan HTML2FPDF

Untuk membuat laporan PDF dengan class (library) HTML2FPDF, pada dasarnya dapat dilakukan melalui 2 (dua) cara. Cara yang pertama adalah dengan membuat file HTML terlebih dahulu lalu membaca isinya dan mengirimkannya ke class untuk dikonvert ke PDF. Lalu cara yang kedua adalah dengan membuat file HTML secara langsung di code program (PHP). Keduanya pada dasarnya sama.

Berikut ini contoh program untuk mengkonversi file “sample.html” ke PDF.
Code block

   1. <?
   2. require('html2fpdf/html2fpdf.php');
   3. $pdf=new HTML2FPDF();
   4. $pdf->AddPage();
   5. $fp = fopen("sample.html","r");
   6. $strContent = fread($fp, filesize("sample.html"));
   7. fclose($fp);
   8. $pdf->WriteHTML($strContent);
   9. $pdf->Output("sample.pdf","I");
  10. //echo "PDF file is generated successfully!";
  11. ?>

Hasil program diatas dapat dicoba di sini.

Dan berikut ini contoh program untuk meng-generate PDF dimana code HTML langsung dituliskan di PHP.
Code block

   1. ?php
   2. equire('html2fpdf/html2fpdf.php');
   3. $pdf=new HTML2FPDF();
   4. $pdf->AddPage();
   5. $strContent = "<h1 align=center>Hello World!</h1><p>
       Sekarang saya bisa bikin laporan PDF dengan mudah</p>";
   6. $pdf->WriteHTML($strContent);
   7. $pdf->Output("sample2.pdf","I");
   8. //echo "PDF file is generated successfully!";
   9. ?>

Demo program di atas dapat dilihat di sini.

Semoga bermanfaat.

Referensi

  1. http://html2fpdf.sourceforge.net, Situs Resmi HTML2FPDF
  2. HTML2FPDF using PHP

dari : http://achmatim.net/2008/11/20/membuat-laporan-report-pdf-dengan-php-dan-html2fpdf/

About these ads

About upmar102wong

Seorang Planner, Pengatur strategi, negosiator, consular, advisor, mentor, mediator. bangga dg istri yg cantik, pandai, solihah. dia seorang dokter. sekarang saya seorang Development Manager di suatu IT Consulting. Saya suka banget sama kungfu, saya belajar Pa'chi chuan dan Taichi chuan sejak 1998 dari seorang shifu dan seorang guru. saya suka main catur igo, suka baca, nonton film juga. suka bersahabat dg banyak org.
This entry was posted in Information Technologies. Bookmark the permalink.

16 Responses to Membuat Laporan (Report) PDF dengan PHP dan HTML2FPDF

  1. Ache says:

    kalo ingin tampilin data dari database bagaimana ya pak? trus class’a mendukung untuk page break gak pak? mohon pencerahan.. :) trims..

  2. aldin says:

    makasih ilmunya..
    sangat membantu saya…

  3. anisah says:

    tgl buat report lewat php

  4. yoga says:

    bagaimana menambahkan no urut ke pdf pak?

  5. mhseptiadi says:

    assalamualaikum upmar102wong, salam kenal

    pak upmar102wong, saya sudah coba ilmunya.
    entah kenapa $pdf->Output(“sample2.pdf”,”I”); tidak bisa.
    saya coba pasti gagal.
    cman klo saya ganti $pdf->Output(“sample2.pdf”,”I”); jadi $pdf->Output(“sample2.pdf”); jadi bisa.
    namun tidak tampil di browser, dan hasilnya pun kedonlot.
    kenapa ya pak kok bisa gitu?
    dan juga hasil yang berhasil terdonlot pun bentuk pdf fileny pun brantakan
    mohon bantuannya pak umar

    hasan

    • upmar102wong says:

      Wa’alaikumsalam wr wb,

      saya sendiri belum pernah coba Mas, kemarin iseng2 belajar PHP hehehe…. saya sebenernya lebih lama di JAVA.
      Mohon maaf ya Mas, tidak bisa banyak membantu.

  6. salam kenal mas upmar102wong(nama asli nya martin ya?) saya boleh minta id ym/fb terimakasih,saya juga ambil “Membuat Laporan (Report) PDF dengan PHP dan HTML2FPDF” dari sini terima kasih banyak semoga mendapt imbalan yang lebih dari Allah ..terimakasih sekali lagi

  7. tady bear's says:

    salam,
    saya pernah mencoba beberapa contoh pembuatan laporan format PDF dengan PHP menggunakan FPDF, akan tetapi ketika menampilkan data yang banyak, hanya bisa satu halaman saja, data yang banyak itu tidak ke halaman berikutnya (terpotong di halaman pertama), mohon bantuannya dan tolong bisa dikirimkan tutorial & contoh programnyanya ke email saya, terima kasih sebelumnya

    • upmar102wong says:

      saya gak pernah pake FPDF, biasanya pake TCPDF yg agak gampangan. Saya sendiri agak bingung. Akhirnya saya pake solusi yg menurut saya agak “bodoh” dari hasil wangsit dan bertapa depan laptop. Margin footernya saya naikin, ditambah naik sampai panjang dan tingginya pas sama tinggi table. Lumayan gak kepotong. Tapi jelek juga kayak ada kolom kosong gitu hahahaha… jujur aja belum ngerti juga caranya gimana hahahaha

  8. andieyono says:

    wah membantu sekali

    terima kasih

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s