Laporan PDF pada PHP Menggunakan FPDF


Dalam tutorial ini akan dibahas mengenai bagaimana membuat laporan PDF dengan PHP menggunakan library FPDF. FPDF (http://fpdf.org) merupakan salah satu library PHP yang memungkinkan untuk membuat / generate file PDF secara langsung dari PHP (on-the-fly) tanpa harus menginstall atau mengaktifkan modul PHP tertentu (seperti PDFLib).
FPDF dapat didownload secara gratis di http://fpdf.org/en/download.php beserta dokumentasi lengkapnya di http://fpdf.org/en/doc/index.php. Tersedia juga dokumentasi dalam bahasa Indonesia.

1. Membuat Database dengan nama 'laporan', lalu create tabel 'pegawai' dengan menjalankan query berikut:

CREATE TABLE `pegawai` ( `nip` varchar(21) NOT NULL, `nama` varchar(80) NOT NULL, `alamat` varchar(150) NOT NULL, PRIMARY KEY (`nip`)) ENGINE=InnoDB DEFAULT CHARSET=latin1
2. Membuat file index.php

Silahkan anda copas kode di bawah ini dan simpan dengan nama file index.php, letakkan dalam sebuah folder laporan-pdf (nama folder optional).
<?php
# koneksi database
mysql_connect("localhost","root","");
mysql_select_db("laporan");

# include fdpf tergantung direktori file kamu
include "fpdf/fpdf.php";
$tgl = date('d-M-Y');
$pdf = new FPDF('P','mm',array(297,210));
$pdf->Open();
$pdf->addPage();
$pdf->setAutoPageBreak(false);

# header
$pdf->setFont('Arial','',12);
$pdf->text(56,20,'PEMERINTAHAN PROVINSI SUMATERA TENGAH');
$pdf->text(70,26,'DAFTAR NAMA ASN TAHUN '.date('Y'));
$yi = 44;
$ya = 44;
$pdf->setFont('Arial','',9);
$pdf->setFillColor(222,222,222);
$pdf->setXY(10,$ya);
$pdf->CELL(10,6,'NO',1,0,'C',1);
$pdf->CELL(40,6,'NIP',1,0,'C',1);
$pdf->CELL(60,6,'NAMA PEGAWAI',1,0,'C',1);
$pdf->CELL(80,6,'ALAMAT',1,0,'C',1);

# menampilkan data dari database
$sql = mysql_query("select * from pegawai order by nip asc");
$no = 1;
$row = 6;
$ya = $yi + $row;
while($data = mysql_fetch_array($sql)){
  $pdf->setXY(10,$ya);
  $pdf->setFont('arial','',9);
  $pdf->setFillColor(255,255,255);
  $pdf->cell(10,6,$no,1,0,'C',1);
  $pdf->cell(40,6,$data['nip'],1,0,'L',1);
  $pdf->cell(60,6,$data['nama'],1,0,'L',1);
  $pdf->CELL(80,6,$data['alamat'],1,0,'L',1);
  $ya = $ya+$row;
  $no++;
}

# untuk menuliskan nama bulan dengan format Indonesia
$bln_list = array(
  '01' => 'Januari',
  '02' => 'Februari',
  '03' => 'Maret',
  '04' => 'April',
  '05' => 'Mei',
  '06' => 'Juni',
  '07' => 'Juli',
  '08' => 'Agustus',
  '09' => 'September',
  '10' => 'Oktober',
  '11' => 'November',
  '12' => 'Desember'
);

# footer
$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',9);
$pdf->SetX(120);
$pdf->MultiCell(95,10,'Sumatera, '.date('d').' '.$bln_list[date('m')].' '.date('Y'),0,'C');
$pdf->SetX(120);
$pdf->MultiCell(95,0, 'KEPALA DAERAH',0,'C');
$pdf->SetX(120);
$pdf->MultiCell(95,20, ' ',0,'C');
$pdf->SetX(120);
$pdf->MultiCell(95,1, 'CAHYA SUKIDIN, S.KOM',0,'C');
$pdf->SetX(120);
$pdf->MultiCell(95,1, '_________________________',0,'C');
$pdf->SetX(120);
$pdf->MultiCell(95,8, 'NIP : 19680101 199303 1 001',0,'C');
$pdf->Ln();
$pdf->output();
?>
Direktori File
DOWNLOAD SOURCE CODE DISINI

Komentar