Laporan yang telah disajikan dilayar monitor seringkan diperlukan untuk didistribusikan kepada yang memerlukan laporan tersebut. Cara yang paling praktis adalah di konversi ke file pdf selain di cetak ke kertas. Untuk memberikan pemahaman bagaimana sebuah laporan di konversi ke file pdf, marilah kita pelajari kasus dibawah ini.
Berikut susunan tabel yang akan kita gunakan:
Nama Database: dblatihan
Nama Tabel: tdosen
Spesifikasi tabel:
id (INT 11) PrimaryKey-AutoIncreament
nid (Varchar 10)
nama (Varchar 100)
alamat (TEXT)
jk (Char 1)
handPhone (Varchar 13)
fakultas (Varchar 30)
Copykan file class.ezpdf dan class.pdf ke dalam folder kerja Anda di Xampp/htdocs… kemudian disini kita membutuhkan file folder lainnya.
buat file reportNilai.php isinya sbb:
[sourcecode language=”php”]
<form method="post" action="<strong>printNilai.php</strong>">
<table>
<tr>
<td>Fakultas</td><td>:</td><td>
<select name="fakultas">
<option value="Pilih Fakultas">Pilih Fakultas</option>
<?php
mysql_connect("localhost","root","");
mysql_select_db("dblatihan");
$sql = mysql_query("SELECT fakultas FROM tdosen GROUP BY fakultas ASC");
while ($data = mysql_fetch_array($sql)){
echo "<option value=’$data[fakultas]’>$data[fakultas]</option>";
}
?>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Cetak"></td></tr>
</table>
</form>
[/sourcecode]
buat file printNilai.php, isinya sbb:
[sourcecode language=”php”]
<?php
// Include file class.ezpdf dalam folder fungsiPDF
include (‘fungsiPDF/class.ezpdf.php’);
// Koneksi ke database dan tampilkan datanya
mysql_connect("localhost", "root", "");
mysql_select_db("dblatihan");
if ($_POST[fakultas]==’Pilih Fakultas’){
echo "Pilih dulu Fakultasnya.. ";
}
else {
$pdf = new Cezpdf();
// Set margin dan font
$pdf->ezSetCmMargins(3, 3, 3, 3);
$pdf->selectFont(‘fungsiPDF/fonts/Courier.afm’);
$all = $pdf->openObject();
// Tampilkan logo
$pdf->setStrokeColor(0, 0, 0, 1);
$pdf->addJpegFromFile(‘logo.jpg’,20,800,69);
// Teks di tengah atas untuk judul header
$pdf->addText(200, 820, 16,'<b>Laporan Data Dosen</b>’);
$pdf->addText(90, 800, 14,'<b>AGUS SAPUTRA & ASFA SOLUTION, ASFAMEDIA – ASFA GROUP</b>’);
// Garis atas untuk header
$pdf->line(10, 79 5, 578, 795);
$pdf->addText(50, 780, 8,'<b>Fakultas :</b> ‘. $_POST[fakultas]);
// Garis bawah untuk footer
$pdf->line(10, 50, 578, 50);
// Teks kiri bawah
$pdf->addText(30,34,8,’Dicetak tgl:’ . date( ‘d-m-Y, H:i:s’));
$pdf->closeObject();
// Tampilkan object di semua halaman
$pdf->addObject($all, ‘all’);
// Query untuk merelasikan kedua tabel
$sql = mysql_query("SELECT * FROM tdosen WHERE fakultas = ‘$_POST[fakultas]’");
$jml = mysql_num_rows($sql);
$i = 1;
while($r = mysql_fetch_array($sql)){
$data[$i]=array(‘<b>No</b>’=>$i,
‘<b>NID</b>’=>$r[nid],
‘<b>Nama</b>’=>$r[nama],
‘<b>Alamat</b>’=>$r[alamat],
‘<b>jk</b>’=>$r[jk],
‘<b>handphone</b>’=>$r[handPhone]);
$i++;
}
$pdf->ezTable($data, ”, ”, ”);
// Penomoran halaman
$pdf->ezStartPageNumbers(320, 15, 8);
$pdf->ezStream();
}
?> [/sourcecode]
Sourcenya dapat Anda download disini.