Laporan adalah suatu hal penting dalam penerimaan output berupa print maupun tampilan layar di monitor, untuk menerapkan aturan, rancangan, yang berlaku di setiap instansi. Untuk membuat laporan FPDF, kita perlu tau apa itu yang namanya FPDF.
FPDF adalah kumpulan class (library) PHP yang memungkinkan
penggunanya dapat membuat halaman PDF dengan mudah dan tanpa perlu
menginstall modul tambahan. FPDF dapat didownload secara gratis di http://fpdf.org/en/download.php beserta dokumentasi lengkapnya di http://fpdf.org/en/doc/index.php
ini adalah contoh laporan PDF yang pernah saya buat, tampilannya dapat dilihat seperti berikut:
untuk contoh Source Codenya, bisa kalian modifikasi sesuai aturan dari instansi maupun pihak yang terkait.
<?php
include "../../include/koneksi.php"; //pemanggilan koneksi
include "../../include/kalender.php"; //pemanggilan tanggal untuk convert ke format d F Y
include "fpdf/fpdf.php"; // pemanggilan library FPDF
$query="select * from inventaris ORDER BY kdinv ";
$sql=mysql_query($query);
$pdf=new FPDF('P','cm','A4');
$pdf->AddPage();
$pdf->SetFont('Times','B',16);
$pdf->Image('../images/logo12.png',1,1,2,2); // pemanggilan logo
$pdf->SetX(3);
$pdf->MultiCell(17.5,0.5,'Pemerintah Daerah Daerah Istimewa Yogyakarta',0,'C');
$pdf->SetFont('Times','B',11);
$pdf->SetX(3);
$pdf->MultiCell(17.5,0.5,'Balai Latihan Pendidikan Teknik Yogyakarta',0,'C');
$pdf->SetFont('Times','B',9);
$pdf->SetX(3);
$pdf->MultiCell(17.5,0.5,'Jl. Kiai Mojo 70 Yogyakarta Telp.(0274) 513036 Fax. 561690',0,'C');
$pdf->SetFont('Times','B',8);
$pdf->SetX(3);
$pdf->MultiCell(17.5,0.5,'website : www.blptjogja.co.id email : blptjogja@yahoo.com',0,'C');
$pdf->Line(1,3.1,20.5,3.1);
$pdf->SetLineWidth(0.1);
$pdf->Line(1,3.2,20.5,3.2);
$pdf->SetLineWidth(0);
$pdf->Ln();
$pdf->SetFont('Times','B',14);
$pdf->MultiCell(19.5,0.8,'Laporan Daftar Inventaris ',0,'C');
$pdf->SetFont('Times','B',12);
$pdf->setFillColor(222,222,222);
$pdf->Cell(1.0,0.8,'No',1,0,'C');
$pdf->Cell(3.5,0.8,'Kode Inventaris ',1,0,'C');
$pdf->Cell(2.5,0.8,'Tanggal ',1,0,'C');
$pdf->Cell(3.2,0.8,'Kode Peralatan',1,0,'C');
$pdf->Cell(3.0,0.8,'Peralatan',1,0,'C');
$pdf->Cell(4.8,0.8,'Kategori',1,0,'C');
$pdf->SetFont('Times','',10);
$pdf->Ln();
$hasi=mysql_query("select * from inventaris");
$no=1;
while($hasil=mysql_fetch_array($hasi)){
$pdf->setFillColor(255,255,255);
$kdinv=$hasil['kdinv'];
$tglinv=''.tglindo("$hasil[tglinv]").'';
$kdalat=$hasil['kdalat'];
// $harga= 'Rp. ' .number_format(("$hasil[harga]"),0,',','.'); //membuat format rupiah
$x = mysql_query("SELECT * FROM peralatan WHERE kdalat = '$hasil[kdalat]'");
$a = mysql_fetch_array($x);
$x = mysql_query("SELECT inventaris.kdinv, peralatan.nmalat, kategori.nmkat
FROM kategori INNER JOIN (peralatan INNER JOIN inventaris ON peralatan.kdalat = inventaris.kdalat)
ON kategori.kdkat = peralatan.kdkat WHERE kdinv = '$hasil[kdinv]'");
$a = mysql_fetch_array($x);
$nmalat= $a['nmalat'];
$x = mysql_query("SELECT inventaris.kdinv, peralatan.nmalat, kategori.nmkat
FROM kategori INNER JOIN (peralatan INNER JOIN inventaris ON peralatan.kdalat = inventaris.kdalat)
ON kategori.kdkat = peralatan.kdkat WHERE kdinv = '$hasil[kdinv]'");
$a = mysql_fetch_array($x);
$nmkat= $a['nmkat'];
$pdf->Cell(1.0,0.5,$no,1,0,'C',true);
$pdf->Cell(3.5,0.5,$kdinv,1,0,'L',true);
$pdf->Cell(2.5,0.5,$tglinv,1,0,'L',true);
$pdf->Cell(3.2,0.5,$kdalat,1,0,'L',true);
$pdf->Cell(3.0,0.5,$nmalat,1,0,'L',true);
$pdf->Cell(4.8,0.5,$nmkat,1,0,'L',true);
$pdf->Ln(); $no++;}
$pdf->SetFont('Times','B',10);
$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
//menampilkan fungsi format tanggal Indonesia
$bulan = array ("Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
$waktu[1]=date("d",time());
$waktu[2]=date("m",time());
$waktu[3]=date("Y",time());
$tanggalini="$waktu[1] ".$bulan[$waktu[2]-1]." $waktu[3]";
//mencetak tanggal
$pdf->MultiCell(18.2,0.5,' Yogyakarta, '.$tanggalini,0,'R');
$pdf->MultiCell(17.1,0.5,'Penyusun Barang',0,'R');
$pdf->SetFont('Times','B',10);
$pdf->MultiCell(19.5,0.5,' ',0,'R');
$pdf->MultiCell(19.5,0.5,' ',0,'R');
$pdf->MultiCell(19.5,0.5,' ',0,'R');
$pdf->MultiCell(19.5,0.5,' ',0,'R');
$pdf->SetFont('Times','B',10);
$pdf->MultiCell(17.3,0.5,'(XXXX, S.Pd.)',0,'R');
$pdf->MultiCell(18.6,0.8,'NIP. XXXXXXX XXXXX X 0098',0,'R');
$pdf->Output();
?>
untuk source code kalender.php , yang saya letakkan di folder include:
<?php
function tglindo($date){
$blnindo = array("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember");
$thn = substr($date, 0, 4);
$bln = substr($date, 5, 2);
$tgl = substr($date, 8, 2);
$result = $tgl . " " . $blnindo[(int)$bln-1] . " ". $thn;
return($result);
}
?>