Membuat Dokumen PDF dg PHP

http://blog.rosihanari.net

Introduction
Anda ingin membuat dokumen PDF dengan menggunakan PHP? Mau? OK… berikut ini akan saya sajikan tutorial dasar untuk membuat dokumen tersebut. Akan tetapi untuk seri pertama ini hanya akan dipaparkan cara membuat contoh dokumen sederhana saja. Untuk bentuk tabel, format koran, link dll akan disajikan kali lain. Untuk membuat dokumen PDF (Portable Document Format), langkah pertama yang dilakukan adalah menginstal library yang khusus untuk membuat dokumen PDF tsb. Secara default, PHP belum mempunyai library tersebut. Jenis library PDF yang terkenal adalah PDFlib yang bisa Anda unduh dengan gratis di http://www.pdflib.com/. Namun sayang, library itu bersifat shareware. Meskipun Anda dapat menggunakannya secara gratis, akan tetapi akan muncul suatu teks besar melintang di halaman PDF yang dibuat. Teks tersebut akan hilang apabila Anda membeli library Tapi jangan takut, meskipun demikian Anda masih bisa membuat dokumen PDF dengan gratis tanpa menggunakan PDFLib. Alternatif lain adalah menggunakan FPDF. FPDF merupakan singkatan dari FREE PDF yaitu merupakan class dari PHP yang juga dapat digunakan untuk membuat PDF tanpa menggunakan library. Sesuai namanya, FREE PDF (FPDF), tentu saja Anda dapat menggunakannya secara gratis. Paket FPDF dapat Anda unduh di http://www.fpdf.org/. Berikut ini beberapa kelebihan dari FPDF: Terdapat pilihan untuk ukuran unit, format halaman dan margin Memiliki kemampuan dalam memanajemen header dan footer, dan tabel Memiliki fasilitas untuk pemisah halaman otomatis Memiliki fasilitas untuk pemisah baris otomatis dan perataan teks Mendukung JPEG dan PNG Mendukung warna dan link Mendukung kompresi halaman Mendukung True Type Font dan encoding

Membuat Dokumen PDF dengan FPDF
Setelah FPDF selesai Anda unduh, berikutnya akan dijelaskan bagaimana membuat dokumen PDF nya. Dalam bundle FPDF tersebut terdapat suatu file fpdf.php. Di dalam file tersebut terdapat class PHP untuk keperluan membuat PDF. Oleh karena itu, setiap kali Anda akan membuat dokumen PDF, file tersebut harus diincludekan ke dalam script PHP Anda. Oya… file fpdf.php dapat ditaruh di mana saja dalam folder htdocs atau www.

Source code dapat didownload di http://source.rosihanari.net

1

Membuat Dokumen PDF dg PHP

http://blog.rosihanari.net

Kita akan membuat sebuah contoh sederhana dokumen PDF. Berikut ini adalah scriptnya. contoh.php
<?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',12); $pdf->write(12,'Hello World! Hello World! Hello World! Hello World!'); $pdf->Output(); ?>

Penjelasan: Konstruktor FPDF() digunakan untuk menyiapkan dokumen PDF. Secara default, dokumen yang dihasilkan berformat A4, Portrait dan satuannya dalam milimeter. Setelah format halaman ditentukan, selanjutnya membuat halaman baru dengan perintah AddPage(); Sebelum teks dicetak, terlebih dahulu harus diset jenis fontnya dengan perintah SetFont(). Pada contoh di atas, font diset Arial, Bold, size 16 pts. Perintah Write() digunakan mencetak suatu teks ke dalam halaman. Nilai 12 pada Write() digunakan untuk mengatur lebar antar baris teks. Perintah Output() digunakan untuk menampilkan dokumen PDF yang telah dibuat ke dalam browser.

Output dari script di atas adalah sbb:

Source code dapat didownload di http://source.rosihanari.net

2

net 3 . halaman dan paragraf. Pokok bahasan ini akan diungkap secara detail tentang formatting yang terkait dengan teks.rosihanari.net Nantikan seri berikutnya untuk membuat dokumen PDF dengan PHP ini. paragraf.Membuat Dokumen PDF dg PHP http://blog.rosihanari. halaman. Source code dapat didownload di http://source. Pokok bahasan selanjutnya: memformat teks.

Anda dapat menggunakan SetMargin(). Satuan dari besarnya margin tergantung dari satuan yang ditentukan dalam konstruktor FPDF(). Secara umum. Memformat Halaman Dokumen Untuk memformat halaman dokumen digunakanlah konstruktor FPDF(). 'in' (inch) Parameter format kertas terdapat pilihan : 'A3'. 4 cm (margin atas) dan 3 cm (margin kanan). batas margin halaman dokumen adalah 1 cm (untuk semua sisi). Pada tips berikut ini akan dijelaskan bagaimana memformat halaman dokumen dan memformat margin.'cm'. margin kanan]) Secara default. Berikut ini adalah sintaksnya: SetMargins(margin kiri. Sebagai contoh. Teks Pada tips sebelumnya sudah dijelaskan bagaimana membuat contoh sederhana sebuah dokumen PDF menggunakan PHP.net Formatting Page. Source code dapat didownload di http://source. 'Letter' dan 'Legal' Contoh: Berikut ini perintah untuk membuat format halaman A4.rosihanari. 'A5'. 'A4' (kuarto). landscape dan satuan unitnya cm. 'pt' (point). sintaks untuk FPDF() adalah sbb: FPDF(orientasi kertas.'A4').rosihanari. Perintah SetMargins() ini dituliskan setelah FPDF(). berikut ini adalah perintah untuk memformat margin: 4 cm (margin kiri).net 4 . $pdf=new FPDF('L'.Membuat Dokumen PDF dg PHP http://blog. 'cm' (centimeter). satuan kertas. margin atas [. format kertas) Penjelasan: • • • Parameter orientasi kertas terdapat pilihan : 'L' (landscape) atau 'P' (portrait) Parameter satuan kertas terdapat pilihan : 'mm' (milimeter). Memformat Margin Untuk memformat margin halaman.

40.rosihanari.'mm'. $pdf->SetMargins(40. Catatan: ingat konversi dari cm ke mm ya… ☺ Sedangkan berikut ini contoh script utuh yang menggunakan pengaturan margin.4. ?> Adapun tampilan dari script di atas adalah Source code dapat didownload di http://source. $pdf->SetMargins(40.'A4').12).php').'A4').'cm'.rosihanari.php harus diincludekan $pdf=new FPDF('P'.30).Membuat Dokumen PDF dg PHP http://blog. $pdf->SetMargins(4. $pdf->AddPage().'mm'.net 5 . // file fpdf. $pdf->write(10.''. <?php require('fpdf. $pdf->Output().net $pdf=new FPDF('L'.30). Perintah di atas akan ekuivalen dengan $pdf=new FPDF('P'.3).40.'A4'). $pdf->SetFont('Times'.'Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! ').

cukup ditulis string kosong atau ‘’.net Menulis Teks Hal penting yang harus Anda tuliskan sebelum menuliskan teks ke halaman dokumen. perintah SetFont() harus dituliskan terlebih dahulu SetFont() digunakan untuk mengatur jenis font dari teks yang akan dituliskan. misalnya ‘arial’ atau ‘times’ untuk Times New Roman dll. $pdf->Text(50.rosihanari.php'). Sintaks nya adalah SetFont(type. size) Jenis font yang diinginkan dapat ditulis pada parameter type. $pdf->AddPage().Membuat Dokumen PDF dg PHP http://blog. Source code dapat didownload di http://source. teks) Dengan x dan posisi mendatar terhadap origin.'A4'). Sedangkan apabila diinginkan teks tidak berformat. atau underlined (‘U’) diletakkan pada parameter format.net 6 . Text() Perintah Text() digunakan untuk menuliskan teks pada koordinat tertentu dalam dokumen. Contoh: Berikut ini adalah script untuk menulis teks pada posisi koordinat 50 mm horizontal dan 20 mm vertikal. $pdf->SetFont('Times'. Sedangkan size menunjukkan ukuran font dalam satuan points.''.'B'.php harus diincludekan $pdf=new FPDF('P'. dan y adalah posisi vertikal terhadap origin. seperti bold (‘B’). 20. Sintaks dari perintah ini adalah: Text(x. y.rosihanari. <?php require('fpdf.'mm'. bold dan berukuran 12 pts. // file fpdf. Adapun titik pusat dokumen (origin) adalah pada titik di pojok kiri atas dokumen. format. Suatu teks dapat dalam dokumen PDF dapat dituliskan dengan beberapa cara. $pdf->SetFont('Arial'. Contoh: Berikut ini perintah SetPoint() untuk meng-set jenis fontnya arial.12). Format teks. 'Hello World!'). Berikut ini beberapa perintah untuk menuliskan teks.12). italic (‘I’).

sebuah teks diletakkan pada sebuah cell berukuran tertentu. Adapun sintaksnya adalah sbb: Cell(w. ln.net $pdf->Output(). h menyatakan lebar cell (satuan tergantung dari satuan dalam FPDF).rosihanari. border.rosihanari. Anda dapat pula menuliskan teks dengan menggunakan perintah Cell(). Parameter w menyatakan panjang cell (satuan tergantung dari satuan dalam FPDF). link) Dengan menggunakan cell. fill. Source code dapat didownload di http://source. h. Apabila parameter w diberikan nilai 0. 1: ada border). ?> Catatan: Satuan panjang koordinat tergantung jenis satuan yang diset pada FPDF(). border merupakan option bernilai 0 atau 1 yang menyatakan ada tidaknya border cell (0: tak ada border. text. Berikut ini tampilan outputnya: Cell() Selain Text(). align.net 7 .Membuat Dokumen PDF dg PHP http://blog. maka panjang cell adalah mulai dari kiri sampai kanan halaman (tergantung jenis kertas) Parameter text adalah string yang akan ditulis dalam cell tersebut.

teks berikutnya akan // diletakkan di kanan teks ini.'mm'.1. ‘R’ (right) dan ‘C’ (center). teks berikutnya akan // diletakkan di bawah teks ini.'R').''.0.Membuat Dokumen PDF dg PHP http://blog. // cell berukuran 20x50 mm. Teks dalam cell dapat pula diberikan sebuah link. berikut ini adalah perintah Cell() untuk memberikan link pada teks ke Google.'A4').google. $pdf->AddPage(). Setting link ini dilakukan dengan menambahkan parameter link pada perintah Cell(). dengan border. dengan border. <?php require('fpdf. atau 1 apabila ada. // setting warna hijau pada cell yang akan dibuat Source code dapat didownload di http://source. Secara default apabila bernilai 1. // cell berukuran 20x10 mm.rosihanari.1. Sebagai contoh.'http://www. Untuk mengubah menjadi warna yang lain dapat digunakan SetFillColor(warna) dengan format warna yang digunakan adalah RGB. size 12 $pdf->SetFont('Times'. maka warna latarnya adalah hitam. tanpa border.10.net 8 .10.com'). Parameter align menyatakan posisi teks relatif terhadap cell.10.'C'). // cell berukuran 40x10 mm.2.'Teks 2'. // file fpdf.net Parameter ln merupakan option untuk memposisikan teks berikutnya yang akan dituliskan setelah perintah Cell() dipanggil. teks berada di kanan // dalam cell $pdf->Cell(40. Selanjutnya akan diberikan sebuah script contoh yang akan menampilkan beberapa jenis output teks dari penggunaan Cell() yang berbeda.12).com $pdf->Cell(40. teks berikutnya akan // diletakkan pada posisi awal baris berikutnya. dan 2: posisi teks berikutnya tepat di bawah. posisi teks center dalam cell $pdf->Cell(20. standard. teks berada di tengah cell $pdf->Cell(20. // setting jenis font Times New Roman. Parameter fill digunakan untuk menentukan apakah cell diberikan warna latar atau tidak.rosihanari.'Teks 3'.0.php').'Teks 1'.1.'C').'Teks 5'. Beberapa alternatif value dari option ini adalah ‘L’ (left).50. Parameter ini dapat diisi dengan value 0 jika tidak ada warna latar. 1: posisi teks berikutnya di awal baris selanjutnya.php harus diincludekan $pdf=new FPDF('P'. Contoh penggunaan SetFillColor dapat dilihat pada contoh selanjutnya. Option ini bernilai 0: posisi teks berikutnya di sebelah kanannya.

teks berikutnya akan // diletakkan posisi awal pada baris selanjutnya. tanpa border. teks berada di kiri // dalam cell. 'http://www.google. $pdf->Output(). // cell berukuran 40x10 mm. dengan border.'Teks 4'. teks berikutnya akan // diletakkan tepat di bawah teks ini.'C'.2. 255. diberi latar dengan warna hijau $pdf->Cell(40. 255).com'). 0. // cell berukuran 40x10 mm. $pdf->Cell(40.Membuat Dokumen PDF dg PHP http://blog.10. diberi link ke Google. // setting warna biru pada cell yang akan dibuat $pdf->SetFillColor(0.10.rosihanari. teks berada di tengah // cell. 1. 0).0.1.rosihanari.'Teks 5'. ?> Output dari script di atas adalah sbb: Source code dapat didownload di http://source.'L'.net 9 . 1).net $pdf->SetFillColor(0. diberi latar dengan warna biru.1.

Ini adalah teks kedua.'').php harus diincludekan $pdf=new FPDF('P'.10.''. h. namun untuk parameter align selain dapat diberikan value ‘R’ (rata kanan). Default dari align adalah Justified.net 10 . Ini adalah teks kedua. jarak // antar baris 10 mm. 'Ini adalah teks pertama. Ini adalah teks kedua. Ini adalah teks pertama. Ini adalah teks kedua. Ini adalah teks pertama. border. 'Ini adalah teks kedua. Ini adalah teks kedua.'A4').rosihanari. rata kanan $pdf->MultiCell(50. jarak antar baris 5 mm. '. ‘L’ (rata kiri). Ini adalah teks kedua.rosihanari.1). Ini adalah teks kedua. Ini adalah teks kedua. Sintaks secara umum adalah sbb: MultiCell(w. justified (default) $pdf->MultiCell(0. // membuat multicell berukuran panjang 50 mm. namun perbedaannya Cell() hanya akan efektif untuk teks yang tidak terlalu panjang. 'R').12). Ini adalah teks pertama.net MultiCell() MultiCell() berfungsi seperti halnya Cell(). $pdf->SetFont('Times'.''). Ini adalah teks kedua. txt. Berikut ini adalah beberapa contoh penggunaan MultiCell() <?php require('fpdf. 5.Membuat Dokumen PDF dg PHP http://blog. Ini adalah teks kedua. $pdf->AddPage(). // setting warna latar cell dengan hijau Source code dapat didownload di http://source.'mm'. Sedangkan untuk parameter h. // membuat multicell dari kiri sampai kanan halaman. fill) Penjelasan parameter dari MultiCell() sama dengan Cell(). ‘C’ (rata tengah). Ini adalah teks pertama. '. dapat diibaratkan merupakan jarak antar baris teks (khusus untuk baris teks lebih dari satu buah). 1. 10. Ini adalah teks pertama. diberi border.10.php'). align. // membuat baris kosong $pdf->MultiCell(0. // file fpdf. sedangkan MultiCell() dapat digunakan untuk menulis teks panjang. Ini adalah teks pertama. Ini adalah teks kedua. // diberi border. // membuat baris kosong $pdf->MultiCell(0. dapat pula diberikan value ‘J’ (justified).

?> ketiga. Adapun output dari script di atas adalah sbb: MengubahWarna Text Secara default.net 11 .1. $pdf->Output(). rata kiri.Membuat Dokumen PDF dg PHP http://blog. Ini adalah teks '.'L'. Ini adalah teks Ini adalah teks ketiga. jarak antar baris // 5 mm.1). ketiga. Warna yang diinginkan ditulis dalam RGB. ketiga. Contoh: Source code dapat didownload di http://source. Anda dapat mengubahnya menjadi warna lain dengan menggunakan perintah SetTextColor(). // membuat multicell dari kiri sampai kanan halaman.net $pdf->SetFillColor(0. diberi border. 5. ketiga. ketiga. diberi warna latar hijau $pdf->MultiCell(0. ketiga.rosihanari. Ini adalah teks Ini adalah teks ketiga.255.0). 'Ini adalah teks Ini adalah teks ketiga.rosihanari. ketiga. ketiga. Ini Ini Ini Ini Ini adalah adalah adalah adalah adalah teks teks teks teks teks ketiga. ketiga. Ini adalah teks Ini adalah teks ketiga. warna teks adalah hitam.

php'). 5. 0. Ini adalah teks pertama. Ini adalah teks kedua. 1. 'J').Membuat Dokumen PDF dg PHP http://blog. Ini adalah teks kedua. Ini adalah teks pertama. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. 5. Ini adalah teks pertama. 255). '. Ini adalah teks kedua. $pdf->AddPage(). Ini adalah teks pertama. Ini adalah teks kedua. Ini adalah teks pertama. 'Ini adalah teks kedua. $pdf->SetFont('Times'. $pdf->MultiCell(0. Ini adalah teks pertama. Ini adalah teks pertama. // file fpdf.net <?php require('fpdf. 0). Ini adalah teks kedua. Ini adalah teks kedua. 5.12). ''). Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks pertama. Ini adalah teks pertama.''. $pdf->MultiCell(0. Ini adalah teks pertama. 1. Ini adalah teks pertama. $pdf->Output(). 'Ini adalah teks pertama. 0. ?> Outputnya adalah: Source code dapat didownload di http://source. // setting warna merah pada teks $pdf->SetTextColor(255. 'J'). Ini adalah teks kedua. // setting warna biru pada teks $pdf->SetTextColor(0.php harus diincludekan $pdf=new FPDF('P'.'A4'). Ini adalah teks kedua. Ini adalah teks pertama.net 12 . '.'mm'. $pdf->MultiCell(0.rosihanari.rosihanari.

rosihanari.net Catatan: Namun sayang. pengubahan warna teks tidak dapat dilakukan secara inline (hanya teks tertentu pada suatu paragraf atau multiline). Source code dapat didownload di http://source.rosihanari.Membuat Dokumen PDF dg PHP http://blog.net 13 .

18 mm) sampai koordinat (198 // mm.net Membuat Header dan Footer Anda dapat mempercantik halaman dokumen PDF dengan menambahkan header dan footer.0. // membuat garis dari koordinat (11 mm.'I'.php harus diincludekan class PDF extends FPDF { function Header() { // setting properti font $this->SetFont('Arial'.'L'). // membuat jarak terhadap cell sebelumnya $this->Cell(132).0.'L'). $this->Cell(30. // file fpdf.'Ini adalah contoh sebuah header'. Header dapat ditambahkan dengan membuat function berikut ini dalam subclass PDF sebagai perluasan FPDF.10.'B'. Contoh: <?php require('fpdf.10).0. Untuk menambahkan header dan footer.net 14 . // menulis header $this->Cell(30.10.rosihanari.net'.Membuat Dokumen PDF dg PHP http://blog. Anda harus membuat subclass pada FPDF().18 mm) Source code dapat didownload di http://source.php'). class PDF extends FPDF { function Header() { // code untuk menulis header } } Function Header() secara otomatis akan dipanggil setelah konstruktor PDF dibuat dengan menggunakan new PDF().0. // setting properti font $this->SetFont('Arial'.'rosihanari.rosihanari.10).

Ini adalah teks isi.18. Ini adalah teks isi. Ini adalah teks isi.198. } } $pdf=new PDF('P'. // membuat space kosong antara header dengan teks konten $this->Ln(20). Ini adalah teks isi. Ini adalah teks isi.'A4').12).'mm'. Ini adalah teks isi.rosihanari. Ini adalah teks isi. $pdf->MultiCell(0. Ini adalah teks isi. Ini adalah teks isi.net 15 . Ini adalah teks isi. Ini adalah teks isi.rosihanari. Ini adalah teks isi.Membuat Dokumen PDF dg PHP http://blog. ?> Outputnya adalah sbb: Sedangkan untuk membuat footer. class PDF extends FPDF { function Footer() Source code dapat didownload di http://source. Ini adalah teks isi. $pdf->AddPage().''. 'Ini adalah teks isi. 5. $pdf->Output().18).net $this->Line(11. caranya juga sama dengan header yaitu membuat function Footer() dalam subclass FPDF. '). Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. $pdf->SetFont('Times'.

// file fpdf. maka isi subclassnya berbentuk: class PDF extends FPDF { function Header() { // code untuk menulis header } function Footer() { // code untuk menulis footer } } Contoh: <?php require('fpdf. // membuat garis dari koordinat (11 mm.net { // code untuk menulis footer } } Apabila Anda ingin dokumen PDF memiliki header dan footer sekaligus.'L'). // setting properti font $this->SetFont('Arial'.10.0.'B'.net 16 .'rosihanari.18).10.php').net'.18 mm) $this->Line(11.18. // membuat space kosong antara header dengan teks konten $this->Ln(20).php harus diincludekan class PDF extends FPDF { // membuat header function Header() { // setting properti font $this->SetFont('Arial'.rosihanari. // membuat jarak terhadap cell sebelumnya $this->Cell(132). } Source code dapat didownload di http://source. // menulis header $this->Cell(30.0.0.10).198.0.rosihanari.10).Membuat Dokumen PDF dg PHP http://blog.'I'.'L'). 18 mm) sampai koordinat (198 // mm. $this->Cell(30.'Ini adalah contoh sebuah header'.

$i++) { $pdf->MultiCell(0. Ini adalah teks isi. Ini adalah teks isi. //Page number $this->Cell(0.net 17 . } } $pdf=new PDF('P'.'mm'.10. ?> Tampilan dari script di atas adalah sbb: Source code dapat didownload di http://source.0. } $pdf->Output(). //Arial italic 8 $this->SetFont('Arial'. Ini adalah teks isi. Ini adalah teks isi.''.'I'.rosihanari.rosihanari. 5. Ini adalah teks isi. Ini adalah teks isi.'R'). $pdf->AliasNbPages(). Ini adalah teks isi. Ini adalah teks isi. $pdf->SetFont('Times'.$i<=15.'A4').''). Ini adalah teks isi. '). Ini adalah teks isi. Ini adalah teks isi.5. Ini adalah teks isi. for($i=1. $pdf->MultiCell(0.0.' dari {nb}'.'Halaman ke. Ini adalah teks isi. 'Ini adalah teks isi.12). Ini adalah teks isi.Membuat Dokumen PDF dg PHP http://blog. Ini adalah teks isi.$this->PageNo().5 cm from bottom $this->SetY(-15). Ini adalah teks isi. $pdf->AddPage().8).'.net // membuat footer function Footer() { //Position at 1. Ini adalah teks isi.

net Source code dapat didownload di http://source.net 18 .rosihanari.rosihanari.Membuat Dokumen PDF dg PHP http://blog.

Apabila Anda ingin membuat dokumen PDF berformat seperti itu dengan menggunakan PHP.net 19 . // menampilkan judul sebagai header function Header() { global $title. jangan khawatir karena tutorial berikut ini akan menjelaskannya.1).1. Kolom yang terbentuk dari script ini sejumlah 2 buah dengan lebar setiap kolom adalah 90 mm dan jarak antar kolomnya 10 mm.1.180).Membuat Dokumen PDF dg PHP http://blog. $jmlkolom = 2. global $jarakantarkolom. $this->y0=$this->GetY(). $this->SetFont('Arial'. $this->SetFillColor(230. $this->Cell($w. var $y=0.0).9. Berikut ini adalah script untuk menampilkan konten berbentuk kolom yang sudah dimodifikasi dari aslinya. Source code dapat didownload di http://source.15).rosihanari. $this->SetDrawColor(0. } function SetCol($col) { global $lebarkolom. <?php require('fpdf.50). $jarakantarkolom = 10. $this->col=$col. Anda akan disibukkan dengan programming karena tidak ada function khusus untuk membuat kolom secara otomatis. $this->SetLineWidth(1). $this->SetTextColor(220. class PDF extends FPDF { var $col=0.php'). Untuk membuat tampilan konten berformat kolom.80.'C'. $w=$this->GetStringWidth($title)+6.50.net Membuat Teks Format Kolom Format kolom seringkali Anda jumpai dalam artikel ataupun surat kabar.rosihanari. // setting format kolom (satuan dalam mm) $lebarkolom = 90. $x=10+$col*($lebarkolom + $jarakantarkolom).$title.230.'B'.

} $pdf->Output(). } else { $this->SetCol(0). Ini merupakan paragraf isi dengan format kolom. ?> Hasil tampilan dari script di atas adalah Source code dapat didownload di http://source. return true.12).Membuat Dokumen PDF dg PHP http://blog. $this->SetX($x). Ini merupakan paragraf isi dengan format kolom. // menampilkan teks isi dengan jarak antar baris dalam paragraf 5 mm for ($i=1.net $this->SetLeftMargin($x). Ini merupakan paragraf isi dengan format kolom. $title='Ini adalah bagian judul'.$i++) { $pdf->MultiCell($lebarkolom. $this->SetY($this->y0). $pdf->SetFont('Times'.$i<=20. '). $pdf->SetTitle($title). } function AcceptPageBreak() { global $jmlkolom. Ini merupakan paragraf isi dengan format kolom.net 20 . return false.5. if($this->col<$jmlkolom-1) { $this->SetCol($this->col+1). Ini merupakan paragraf isi dengan format kolom. // memberi jarak antar paragraf $pdf->Ln().''. Ini merupakan paragraf isi dengan format kolom. $pdf->AddPage().'Ini merupakan paragraf isi dengan format kolom.rosihanari.rosihanari. } } } $pdf=new PDF().

net Source code dapat didownload di http://source.rosihanari.rosihanari.Membuat Dokumen PDF dg PHP http://blog.net 21 .

30). Titik koordinat (x.net Menyisipkan Image Dengan FPDF. y. • Parameter w dan h bersifat optional digunakan untuk mengatur panjang dan lebar image dalam dokumen PDF • Parameter format digunakan untuk menentukan format image. $pdf->Output(). Perintah yang digunakan untuk menyisipkan image adalah Image(). // menyisipkan image pada posisi 20 mm mendatar. apakah ‘JPG’. Secara default. Link diletakkan pada parameter link.net 22 . Namun format image yang dapat disisipkan hanyalah JPEG dan PNG saja.Membuat Dokumen PDF dg PHP http://blog.rosihanari. sebuah image dapat disisipkan ke dalam dokumen PDF. format. ‘JPEG’ atau ‘PNG’.php'). x. w. Satuan dari x dan y tergantung satuan yang dipilih pada konstruktor FPDF(). ?> Outputnya adalah: Source code dapat didownload di http://source. format image ditentukan oleh extension file imagenya. $pdf->AddPage(). y) adalah titik pada pojok kiri atas image. dan sintaksnya adalah sebagai berikut: Image(path file. $pdf=new FPDF().20. 30 mm vertikal $pdf->Image('image/logo. link) Penjelasan: • Parameter path file digunakan untuk menentukan letak file image asli yang akan disisipkan • Parameter x dan y merupakan titik koordinat yang menentukan posisi image dalam dokumen. Contoh: <?php require('fpdf. h.rosihanari.png'. • Anda juga dapat menambahkan link pada image tsb.

$pdf=new FPDF().'http://www.fpdf.Membuat Dokumen PDF dg PHP http://blog.30.20. $pdf->Output().rosihanari.png'.net Contoh: Berikut ini contoh image yang ada linknya <?php require('fpdf.org').40.30.''.php').rosihanari. $pdf->Image('image/logo. ?> Hasil tampilannya adalah: Source code dapat didownload di http://source.net 23 . $pdf->AddPage().

net 24 .rosihanari.Membuat Dokumen PDF dg PHP http://blog.rosihanari.net Source code dapat didownload di http://source.

Pada contoh ini. NIM. 2. kita akan membuat tabel yang akan menampilkan 4 data/record di atas dan terdiri dari 4 buah kolom (NO. maka akan ada sedikit programming untuk keperluan tsb. dst. ('M0193'. 'Solo'). 3. `NAMAMHS` varchar(20) NOT NULL.Membuat Dokumen PDF dg PHP http://blog.net Membuat Tabel Tabel erat kaitannya dengan representasi data. ('M0194'. 'Kudus'). insert into mhs values ('M0191'. 'Rosihan Ari Y'. Pada contoh pertama akan dibuat tabel biasa berbentuk sbb: Source code dapat didownload di http://source.rosihanari. ('M0192'. Untuk membuat tabel dalam dokumen PDF menggunakan PHP. Karena nomor tersebut tidak ada dalam field tabel. terlebih dahulu kita siapkan database dan tabelnya.rosihanari. Berikut ini query untuk membuat tabel dan datanya. Hal ini dilakukan supaya data lebih enak dibaca dan mempercantik tampilan. 'Solo'). PRIMARY KEY (`NIM`) ). 'Dwi Amalia F'. ALAMAT). 'Faza Fauzan'. Sebagai contoh. `ALAMAT` varchar(10) NOT NULL. Anda akan sedikit melakukan programming. Kolom NO digunakan untuk menampilkan nomor urut 1. data yang disajikan dalam tabel berasal dari database MySQL. Nama DB : data CREATE TABLE `mhs` ( `NIM` varchar(5) NOT NULL. Dalam pembahasan ini. 'Nada Hasanah'.net 25 . 'Solo'). NAMAMHS.

untuk ditampilkan $data[] = $fetchdata.Membuat Dokumen PDF dg PHP http://blog. $query = "SELECT * FROM mhs". 3. .. $i = 0. class PDF extends FPDF { // membaca data dari database function LoadData() { $data=array(). 2. karena pada prinsipnya sebuah tabel tersusun dari banyak sel."root"). while ($fetchdata = mysql_fetch_row($hasil)) { $i++. } // function untuk menampilkan tabel Source code dapat didownload di http://source.rosihanari. mysql_connect("localhost". } return $data.net 26 .."root".php'). // membuat counter 1. <?php require('fpdf. $hasil = mysql_query($query). Berikut ini adalah scriptnya.rosihanari. sebenarnya kita hanya main-main dengan perintah Cell(). mysql_select_db("data").net Untuk membuat tabel seperti di atas.

50. } // penutup tabel $this->Cell(array_sum($w).1).45).$data) { // setting lebar masing-masing kolom dalam mm $w=array(10.1.0.7.'NAMA MAHASISWA'. akan dibuat tampilan tabel yang sedikit lebih cantik dari sebelumnya yaitu ada pergantian warna setiap barisnya. // membuat kepala tabel for($i=0.net 27 .rosihanari.'ALAMAT'). ?> Pada contoh kedua.12).net function TabelBiasa($header. 0. $pdf->AddPage(). 0).'L'. // menampilkan data // setting jenis font pada data tabel $this->SetFont('Arial'.12). // setting huruf bold pada kepala tabel $this->SetFont('Arial'.'NIM'. // memanggil function untuk menampilkan tabel $pdf->TabelBiasa($header.'B'. foreach($data as $row) { for($i=0.$i<count($header). Perhatikan tampilan tabel berikut ini: Source code dapat didownload di http://source. } } $pdf=new PDF().''. } $this->Ln().20.$data).'T').''.$i<=sizeof($w)-1.6. // nama-nama kolom untuk kepala tabel $header=array('No'.Membuat Dokumen PDF dg PHP http://blog. // parameter L menunjukkan teks rata kiri pada setiap // sel kepala tabel $this->Cell($w[$i].rosihanari.$i++) { // memberi warna latar merah pada kepala tabel $this->SetFillColor(255.0.1). $pdf->Output().$i++) $this->Cell($w[$i].$header[$i]. // memanggil function untuk baca data $data=$pdf->LoadData().$row[$i].

rosihanari..rosihanari. } // function untuk menampilkan tabel Source code dapat didownload di http://source. mysql_connect("localhost". while ($fetchdata = mysql_fetch_row($hasil)) { $i++. $hasil = mysql_query($query).net Berikut ini adalah scriptnya: <?php require('fpdf."root"). $i = 0. class PDF extends FPDF { // membaca data dari database function LoadData() { $data=array()."root". // membuat counter 1.net 28 .$i). mysql_select_db("data"). 2. $query = "SELECT * FROM mhs". $data[] = $fetchdata. 3.Membuat Dokumen PDF dg PHP http://blog. untuk ditampilkan array_unshift($fetchdata. .php'). } return $data..

20. // membuat kepala tabel for($i=0. } // penutup tabel $this->Cell(array_sum($w). // setting huruf bold pada kepala tabel $this->SetFont('Arial'. // nama-nama kolom untuk kepala tabel $header=array('No'. $pdf->Output().'ALAMAT').$i++) { // memberi warna latar merah pada kepala tabel $this->SetFillColor(255.6.0. } } $pdf=new PDF().'B'.'L'. // parameter L menunjukkan teks rata kiri pada setiap } $this->Ln().12).rosihanari.255. $pdf->AddPage(). 0).''.0.1).'T'). // memanggil function untuk menampilkan tabel $pdf->TabelWarna($header.255).$data) { // setting lebar masing-masing kolom dalam mm $w=array(10.net function TabelWarna($header.'NAMA MAHASISWA'.$i<=sizeof($w)-1. $j++.$data).$i++) $this->Cell($w[$i]. // memanggil function untuk baca data $data=$pdf->LoadData().255).235.1.Membuat Dokumen PDF dg PHP http://blog.rosihanari. // setting warna biru muda // menampilkan data rata kiri for($i=0.12).''. 0.'NIM'. $this->Ln().$i<count($header).45). ?> Source code dapat didownload di http://source.$row[$i]. // menampilkan data // setting jenis font pada data tabel $this->SetFont('Arial'.net 29 . // setting warna putih else $this->SetFillCOlor(224. foreach($data as $row) { // menampilkan perubahan warna latar putih dan biru muda // setiap ganti baris if ($j % 2 == 0) $this->SetFillCOlor(255. $j = 0.50.

Sign up to vote on this title
UsefulNot useful