Tutorial dan artikel ini tersedia secara gratis untuk Anda. Jika tutorial ini bermanfaat untuk Anda, silahkan sebarluaskan melalui situs dan social media yang Anda miliki agar dapat memberikan lebih banyak manfaat untuk lebih banyak orang. Gunakan tombol social media sharer yang tersedia di bagian akhir tutorial. (hide this message)
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 (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?
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 (327.4 KiB, 17,360 hits)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.
Hasil program diatas dapat dicoba di sini.
Dan berikut ini contoh program untuk meng-generate PDF dimana code HTML langsung dituliskan di PHP.
- <?php
- require('html2fpdf/html2fpdf.php');
- $pdf=new HTML2FPDF();
- $pdf->AddPage();
- $strContent = "<h1 align=center>Hello World!</h1><p>Sekarang saya bisa bikin laporan PDF dengan mudah</p>";
- $pdf->WriteHTML($strContent);
- $pdf->Output("sample2.pdf","I");
- //echo "PDF file is generated successfully!";
- ?>
Demo program di atas dapat dilihat di sini.
Semoga bermanfaat.
Referensi
- http://html2fpdf.sourceforge.net, Situs Resmi HTML2FPDF
- HTML2FPDF using PHP
Popularity: 25% [?]
This entry was posted by achmatim on November 20, 2008 at 12:58, and is filed under PHP, web development. Follow any responses to this post through RSS 2.0.You can leave a response or trackback from your own site.
-
#8 written by hawru_uba 3 years ago
-
Mas kalau mau buat file pdf yang otomatis tercreate dan tersimpan pada waktu saya buat suatu halaman berita yang tersimpan di MySQL bisa tidak? Mohon pencerahannya. Matur Nuwun
Taufiq’s last blog post..Lowongan PNS di PemDa
-
isinya bermanfaat semua,
makasih ya pak atas ilmunya
mitsikuri’s last blog post..Ketika Jenuh Menerpa
-
#20 written by Yosep 2 years ago
-
#21 written by achmatim 2 years ago
#Yosep
kebetulan library tersebut fungsinya untuk mengubah HTML ke pdf. Kalo mau lebih fleksibel, bisa gunakan library fpdf (http://fpdf.org)#ardik
coba cari mengenai agatha report
-
-
makasih atas pencerahanyya…slama ini aku pk fpdf
.-= oz´s last blog ..Menghitung selisih jam dengan PHP =-. -
#25 written by endahdoang 2 years ago
mas, kalo di php, biasanya untuk report kita sudah punya template sendiri. nah gimana atau dengan cara apa, kalo kita punya aplikasi yang templatenya itu bisa kita tambahin pada saat aplikasi telah diimplemen tapi tanpa ngubah coding:
contoh kasus:aplikasi saya berguna untuk membuat laporan setoran tuna ke beberapa bank. oke, pada saat develop saya bisa bikin template yang dibutuhkan, misal template untuk bank A. tapi setelah implement ternyata saya butuh template bank B, gmn caranya saya nambah template tanpa ubah coding didalam??
kalo aplikasi dekstop kan biasanya pake Crytal Reportmakasih
-
Terimakasih buanyak atas sharenya…. Bermanfaat sekali. Saya sekarang juga pakai html2pdf untuk reporting.
But…..
Ada yang sedikit aneh nih (apa gw yang gak ngerti??) mohon petunjuk.
Kemaren pengen masukin tag “<ul></ul>” dalam “<td></td>”, tapi mengapa hasilnya tidak terlalu memuaskan yach? sepertinya numbering di dalam kolom di abaikan waktu di convert jadi pdf.
Ini kodenya :
<table>
<tr>
<td>
<ul>
<li>ini nomer satu</li>
<li>ini nomer dua</li>
<li>ini nomer tiga</li>
<li>dan seterusnya</li>
</ul>
</td>
</tr>
</table>
Output PDF-nya :
——————————————————–
| ini nomer satu ini nomer dua ini nomer tiga |
——————————————————–
Jika berkenan mohon petunjuknya…. -
saya coba code ini:
function re(){
$pdf=new HTML2FPDF();
$pdf->AddPage();
$strContent = ”
Hello World!Sekarang saya bisa bikin laporan PDF dengan mudah
“;
$pdf->WriteHTML($strContent);
$pdf->Output(“sample.pdf”);}
dengan memakai code igniter, code diatas di taro di controller. tp ko ga nampil apa2 yah? mohon pencerahannya. makasih -
-
#ita. Pada contoh tersebut sebenarnya sudah otomatis menampilkan hasil PDF ke browser namun browser harus support (bisa membuka) PDF. Opsi dapat diatur di fungsi $pdf->Output(), parameter kedua dapat disetting sebagai “I” jika ingin ditampilkan di browser, “D” jika ingin pdf otomatis download, “F” jika menyimpan ke file dan “S” jika ingin menampilkan dokumen sbg string.
-
-
#46 written by yoan 1 year ago
mas kok keluaran aku kaya gini yah :
%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream xœ3Rðâ2Ð35W(çr QÐw3T04Ô30PISp á1 Ò¹ €¤P‘…ž±©‚…±ž¡©BHŠ‚Fb¢‚‚¦BHPµB Ä#K„ `cd YS!æ™êYX€ì41›g¨oˆfª‹Ð_%Q endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> endobj 2 0 obj <> >> endobj 8 0 obj << /Producer (FPDF 1.52) /Creator (HTML2FPDF >> http://html2fpdf.sf.net) /CreationDate (D:20101201002328) >> endobj 9 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 10 0000000000 65535 f 0000000272 00000 n 0000000660 00000 n 0000000009 00000 n 0000000087 00000 n 0000000359 00000 n 0000000455 00000 n 0000000556 00000 n 0000000768 00000 n 0000000892 00000 n trailer << /Size 10 /Root 9 0 R /Info 8 0 R >> startxref 995 %%EOF -
#50 written by rizky 11 months ago
om kok untuk yang index3,4,5 hasilnya jadi kaya ginih :
%PDF-1.3 3 0 obj <<<>>>] /Contents 4 0 R>> endobj 4 0 obj <> stream xœíœkoÛ6†¿÷Wp€$@Ëò*JÝ’·uÖ¹-V‹ ó8¶«uTRzù÷#EÙ¢]׉$VØ�~¨›XÌÑ{^>¤(úXüþA.À—’/CðüŒ!B œAøDýˆÀ>D6}ò�ˆ)>¢sNÁ!8á{Ùü±+dñÝù–ùê¿ÿ‘á§R™:øeW“J€‡a€€ðèáBÁYÿümÿô{Æ_ëÈ¿3,=X½-›¥úeG ¥¸ñ¶I:~e” TÈçQ±üGÁd1β(ñäó8wiò>šä`¼H–·Y<•í–`|ÿ5^Äãd“4¾ËÁ,^D°J³®uœê.“RÖ¤ àøòõñSð&<;%úGù2:Ìâ<Ÿ£4‹“åè¨ù©½Àƒ>¯N½Xœ½�óüã”O’Ň8‡wó;¶ÏöˆÎÛì©Úêêö|Èñªó ‰dv7]+c”Jm”*»Ž@ô5–-
-
#53 written by rizky 11 months ago
-
oke gpp diganti menjadi “D”. Opsi itu merupakan tujuan dimana pdf akan ditampilkan. Jika opsi “I” maka akan ditampilkan secara internal di browser, tapi browser harus ada plugin pdf-nya. Kalo “D” artinya download. Jadi, error yg terjadi kemungkinan karena browser tidak ter-integrate dengan pdf.
Berikut ini penjelasan lengkapnya mengenai opsi tersebut:
Destination where to send the document. It can take one of the following values:
I: send the file inline to the browser. The plug-in is used if available. The name given bynameis used when one selects the “Save as” option on the link generating the PDF.D: send to the browser and force a file download with the name given byname.F: save to a local file with the name given byname(may include a path).S: return the document as a string.nameis ignored.
-
-
-
#60 written by RendyAmdani 4 months ago
-
-
#62 written by Diki 4 months ago
Asslamualaikum, Maaf pa sebelumnya, setelah saya coba library HTML2FPDF ko malah error ya? export ke PDF nya ga berhasil. oh iya kata bapa HTML2FPDF sendiri menggunakan library FPDF nah bagaimana cara menggabungkannya? apakah harus dalam satu folder atau terpisah? mohon maaf sebelumnya saya masih awam. trima kasih.
-
#63 written by Diki 4 months ago
Asslamualaikum,
Maaf pa sebelumnya, setelah saya coba library HTML2FPDF ko malah error ya?
export ke PDF nya ga berhasil. oh iya kata bapa HTML2FPDF sendiri menggunakan library FPDF
nah bagaimana cara menggabungkannya? apakah harus dalam satu folder atau terpisah?
mohon maaf sebelumnya saya masih awam.
trima kasih. -
-
- Comment Feed for this Post
- Fungsi Rekursif dan Penerapannya di PHP
- Membuat Auto Wrap Content pada Tabel dengan FPDF dan PHP
- Baca File Format Aiken (Moodle) dengan PHP
- Site Bookmark #1 : HTML dan CSS
- Useful HTML-, CSS- and JavaScript Tools and Libraries
- Berbagai Cara Konversi dari String ke Array di PHP
- Contoh Program Penanganan Array di PHP
- Mengenal Metode Pengiriman Variabel di PHP
- Program PHP untuk Menampilkan Spesifikasi Basis Data
- Step by Step Membuat URL Shortener dengan API Bit.ly dan PHP
About achmatim (371 posts)
Telah menjadi staff pengajar di Universitas Budi Luhur (Jakarta) sejak tahun 2005. Selain mengajar, dia juga menyusun berbagai tutorial praktis di bidang komputer dan sempat menulis beberapa buku gratis, semua dipublikasikan di situs resminya, Achmatim.Net





Wah, kalau yg ni otak ane lum mampu, dan mgkin g akn prnah mampu
, lha wong sekolah aza cm SMP kok…