Monday, May 28, 2012

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



No comments:

Post a Comment