Teknik Generate Report PDF dengan TCPDF
Assalamualaikum,
Kembali lagi update post di waktu yang sangat singkat, lama sudah tidak update karena mendapat proyek baru di kantor. Dikebut 3 hari dengan teman, baru saja selesai.
Menanggapi pengunjung Grub FB yang inngin tahu cara membuat report di PHP, kita bisa menggunakan Libaray TCPDF.
Libarary tersebut akan secara otomatis menggenerate data dari database ke Format PDF, sehingga dapat dilihat langsung di Browser atau di download. Langsung saja, anda buat File baru bernama file cetak.php dan isi dengan script berikut :
<?php
require_once(‘tcpdf/config/lang/eng.php’);
require_once(‘tcpdf/tcpdf.php’);include “koneksi.php”;
$rid = $_GET[RID];
$sql = “SELECT * FROM mahasiswa”;
//echo $sql;
$hasil = mysql_query($sql);
$data = mysql_fetch_array($hasil);
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, ‘UTF-8’, false);
// set font
$pdf->SetFont(‘times’, ”, 11);$pdf->addPage();
$html = ‘
<table border=”1″ cellspacing=”1″ cellpadding=”0″>
<tr><td colspan=”3″ align=”center”><h2>Tabel Data Mahasiswa</h2></td></tr>
<tr>
<th align=”center”><b>NAMA</b></th>
<th align=”center”><b>JURUSAN</b></th>
<th align=”center”><b>EMAIL</b></th></tr></table>’;
$no=0;
while ($data = mysql_fetch_array($hasil))
{$html .= ‘<table border=”1″><tr><td align=”center”>’.$data[‘nama’].'</td>
<td align=”center”>’.$data[‘jurusan’].'</td>
<td align=”center”>’.$data[’email’].'</td></tr></table> ‘;
$no++;
}
// ;$pdf->writeHTML($html, true, false, true, false, ”);
$pdf->Output(‘Ceklist Inspeksi harian’, ‘I’);
?>
nah untuk file index.php pada latihan CRUD nya anda tambahun script berikut
<a href=”cetak.php”>Cetak Data</a>
Link Diatas terserah anda mau taruh dimana, pokoknya diantara tag <body></body> dihalaman index.php
Nah jika setting benar, maka pdf secara otomatis tergenarate jika anda mengklik Link Cetak.
Oke Sekian tutorial kali ini, yang mau download contoh, ada disni Klik Me
Oh ya untuk library TCPDF dapat anda dwonload langsung dari situs TCPDFnya
Semoga Bermanfaat
Wassalamualakum…