Membuat Header, Footer dan Nomor Halaman pada PDF dengan PHP FPDF
Dokumen PDF (Portable Document Format) sudah menjadi format dokumen yang secara luas dikenal. Karena format PDF bersifat terbuka (open document format), PDF dapat dibuka di berbagai sistem operasi dan juga dapat dibuat dengan berbagai macam software, termasuk dapat dibuat dengan bahasa pemrograman seperti PHP. Untuk tutorial step by step membuat laporan pdf dengan php sudah pernah saya posting sebelumnya. Nah, dalam tutorial kali ini saya akan membahas mengenai penambahan Header, Footer serta Nomor Halaman pada halaman PDF yang dibuat. Semoga tutorial ini bermanfaat untuk kita semua, dan jangan lupa sebarkan tutorial ini agar lebih banyak lagi orang yang menikmati manfaatnya.
Langsung aja, untuk membuat Header dan Footer pada halaman PDF caranya sangat mudah. Kita cukup mendefinisikan fungsi Header() dan Footer() di dalam class kita. Fungsi tersebut tidak perlu dipanggil karena secara otomatis sudah dipanggil bersamaan dengan pembentukan object dari class.
Untuk lebih jelasnya, mari kita lihat source program php berikut ini.
- <?php
- require('fpdf17/fpdf.php');
-
- class PDF extends FPDF
- {
- //Page header
- {
- //Logo
- $this->Image('logo-ubl.jpg',10,8);
- //Arial bold 15
- $this->SetFont('Arial','B',15);
- //pindah ke posisi ke tengah untuk membuat judul
- $this->Cell(80);
- //judul
- $this->Cell(30,10,'LAPORAN REKAPITULASI PENERIMAAN MAHASISWA BARU',0,0,'C');
- //pindah baris
- $this->Ln(20);
- //buat garis horisontal
- $this->Line(10,25,200,25);
- }
-
- //Page Content
- function Content()
- {
- $this->SetFont('Times','',12);
- for($i=1; $i<=40; $i++)
- $this->Cell(0,10,'Laporan Mahasiswa '.$i,0,1);
- }
-
- //Page footer
- function Footer()
- {
- //atur posisi 1.5 cm dari bawah
- $this->SetY(-15);
- //buat garis horizontal
- $this->Line(10,$this->GetY(),200,$this->GetY());
- //Arial italic 9
- $this->SetFont('Arial','I',9);
- //nomor halaman
- $this->Cell(0,10,'Halaman '.$this->PageNo().' dari {nb}',0,0,'R');
- }
- }
-
- //contoh pemanggilan class
- $pdf = new PDF();
- $pdf->AliasNbPages();
- $pdf->AddPage();
- $pdf->Content();
- $pdf->Output();
- ?>
Penjelasan Program
- Baris 2-3: menyertakan library fpdf, dalam contoh ini digunakan library fpdf versi 1.7.
- Baris 8-22: mendefinisikan fungsi Header() yang akan mengatur isi dari header halaman.
- Baris 11: fungsi Image() digunakan untuk menampilkan gambar dengan nama file logo-ubl.jpg pada posisi 10 point dari kiri dan 8 point dari atas.
- Baris 13: mengatur jenis huruf (font) menjadi Arial dengan ukuran 15pt dan berhuruf tebal (bold).
- Baris 17: menampilkan judul laporan
- Baris 21: membuat garis horizontal mulai dari posisi 10, 25 hingga 200, 25.
- Baris 25-30: menampilkan isi halaman. Ini hanya contoh isi, dibuat agar isinya melebihi satu halaman.
- Baris 33-43: mendefinisikan fungsi Footer() yang akan mengatur isi dari footer halaman.
- Baris 36: fungsi SetY() untuk mengatur posisi pointer (cursor) dari atas halaman. Nilai negatif (-) akan mengatur posisi pointer dari bawah halaman.
- Baris 38: membuat garis horizontal pada posisi pointer (cursor)
- Baris 42: membuat nomor halaman dengan fungsi PageNo() dan jumlah halaman dengan memanggil konstanta {nb}.
- Baris 46-51: membuat object dari class dan menampilkan halaman pdf di browser.
Demo dan Download Tutorial
- Lihat Demo dari contoh program php di atas.
- Download contoh program php di atas beserta library fpdf 1.7.
Referensi dan Tutorial Terkait
- Situs Resmi FPDF – http://fpdf.org
- Header, footer, page break dan image - http://www.id.uzh.ch/cl/zinfo/fpdf/tutorial/tuto2.htm
- Step by Step membuat laporan PDF dengan FPDF - http://achmatim.net/2009/11/29/step-by-step-php-membuat-laporan-pdf-dengan-fpdf
- Membuat Auto Wrap Content pada Tabel dengan FPDF dan PHP - http://achmatim.net/2012/02/08/membuat-auto-wrap-content-pada-tabel-dengan-fpdf-dan-php/
Related Posts
About Author
Achmad Solichin | Website | Twitter
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




p’ klau library fpdf sudah di download trus g’ mau di ekstrak….??? apa cranya lagi pak..!!!
kalo ga mau diekstrak brarti downloadnya ga sukses, ada yang corrupt saat proses download. coba lagi aja.
pak,,laporan dihalaman ke 2 masih ditampilkan judul header nya!
haha2x, ya iya lah… kan namanya header dan footer ya selalu tampil di setiap halaman.
keren juga !
assalamualaikum pak achmad, ada yang saya tanyakan pak tentang membuat header memakai fpdf. saya kan ingin membuat laopran presensi kehadiran setiap kelas, nah headernya itu mengambil data dari database, itu kalau saya buat kok tidak bisa pak?
untuk header mengambil data dari tabel/database bagaimana pak?
mohon pencerahannya
wasslm. kalo sudah bisa ngambil data dari database seharusnya untuk menampilkan ke pdf baik di header maupun di header, ya harusnya bisa. kan tinggal ganti aja text-nya dengan teks yg dari database.
kaloa mengambil data dari database bisa pak, tapi kan saya buat variabel , kalau variabel tersebut saya taruh diheader datanya tidak muncul, tapi kalau saya taruh diluar header datanya bisa muncul. bagaimana ya pak?
coba kirim source-lengkapnya ke email deh.
oke pak ini sedang saya kirimkan kode lengkapnya
numpang belajar pak
mas, mau nanya?
bagaimana membuat laporan dengan format seperti dibawah ini dalam PHP:
Laporan PT. ABC
| No | Keterangan | Jumlah | Harga | Total |
I. JAKARTA
| 1. | Buku | 2 | 5.000 | 10.000 |
| 2. | Amplop | 1 | 1.000 | 1.000 |
———————————————
Jumlah I 11.000
II. Bogor
| 1. | Meja | 3 | 10.000| 30.000 |
| 2. | Kursi | 5 | 1.000| 5.000 |
———————————————
Jumlah II 35.000
———————————————
Jumlah Total (Jumlah I + Jumlah II) 46.000
Jika berkenang, silahkan berkunjung balik ya gan..
thx atas informasinya
makasih gan, langsung saya coba dechhh
wihhh mantap gan,…saya coba lah
Makasih mas, informasinya sangat berguna..
Berguna untuk buat ebook
kok ada yang promoin website ini dengan sistem dofollow ya,,
tapi kok ini sepertinya nofollow, ane yang salah apa yang promoin yang ngawor.
thanks gan ini artikelnya nambah ilmu ane,
visit my site optimalkan blog
thanks
assalammualaikum.. saya telah mencoba tutorial ini berhasil pak..namun ketika konten saya isi dari data database muncul error pak… mohon penjelasanya terimakasih
errornya bagaimana? silahkan dijelaskan atau kirim email aja.
ketika content saya ganti datanya dengan isi yang ada didatabase jadi error..
ouput has already sent..
sudah saya kirim di email pak
Many thanks buat pak achmatim, banyak tutor bapak yang sangat bagus, izin membaca dan menerapkannya pak
Semoga sehat selalu dan terus berkarya.