SlideShare a Scribd company logo
1
Membuat Dokumen PDF
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 di-
lakukan 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.
2
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:
3
Nantikan seri berikutnya untuk membuat dokumen PDF dengan PHP ini. Pokok bahasan
selanjutnya: memformat teks, halaman, paragraf. Pokok bahasan ini akan diungkap secara
detail tentang formatting yang terkait dengan teks, halaman dan paragraf.
4
Formatting Page, Teks
Pada tips sebelumnya sudah dijelaskan bagaimana membuat contoh sederhana sebuah
dokumen PDF menggunakan PHP. Pada tips berikut ini akan dijelaskan bagaimana
memformat halaman dokumen dan memformat margin.
Memformat Halaman Dokumen
Untuk memformat halaman dokumen digunakanlah konstruktor FPDF(). Secara umum,
sintaks untuk FPDF() adalah sbb:
FPDF(orientasi kertas, satuan kertas, format kertas)
Penjelasan:
 Parameter orientasi kertas terdapat pilihan : 'L' (landscape) atau 'P' (portrait)
 Parameter satuan kertas terdapat pilihan : 'mm' (milimeter), 'cm' (centimeter), 'pt'
(point), 'in' (inch)
 Parameter format kertas terdapat pilihan : 'A3', 'A4' (kuarto), 'A5', 'Letter' dan
'Legal'
Contoh:
Berikut ini perintah untuk membuat format halaman A4, landscape dan satuan unitnya
cm.
$pdf=new FPDF('L','cm','A4');
Memformat Margin
Untuk memformat margin halaman, Anda dapat menggunakan SetMargin(). Berikut ini
adalah sintaksnya:
SetMargins(margin kiri, margin atas [, margin kanan])
Secara default, batas margin halaman dokumen adalah 1 cm (untuk semua sisi). Satuan
dari besarnya margin tergantung dari satuan yang ditentukan dalam konstruktor FPDF().
Perintah SetMargins() ini dituliskan setelah FPDF().
Sebagai contoh, berikut ini adalah perintah untuk memformat margin: 4 cm (margin kiri),
4 cm (margin atas) dan 3 cm (margin kanan).
5
$pdf=new FPDF('L','cm','A4');
$pdf->SetMargins(4,4,3);
Perintah di atas akan ekuivalen dengan
$pdf=new FPDF('P','mm','A4');
$pdf->SetMargins(40,40,30);
Catatan: ingat konversi dari cm ke mm ya… 

Sedangkan berikut ini contoh script utuh yang menggunakan pengaturan margin.
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
$pdf=new FPDF('P','mm','A4');
$pdf->SetMargins(40,40,30);
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->write(10,'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! ');
$pdf->Output();
?>
Adapun tampilan dari script di atas adalah
6
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. Sintaks
nya adalah
SetFont(type, format, size)
Jenis font yang diinginkan dapat ditulis pada parameter type, misalnya ‘arial’ atau ‘times’
untuk Times New Roman dll. Format teks, seperti bold (‘B’), italic (‘I’), atau underlined
(‘U’) diletakkan pada parameter format. Sedangkan apabila diinginkan teks tidak
berformat, cukup ditulis string kosong atau ‘’. Sedangkan size menunjukkan ukuran font
dalam satuan points.
Contoh:
Berikut ini perintah SetPoint() untuk meng-set jenis fontnya arial, bold dan berukuran 12
pts.
$pdf->SetFont('Arial','B',12);
Suatu teks dapat dalam dokumen PDF dapat dituliskan dengan beberapa cara. Berikut ini
beberapa perintah untuk menuliskan teks.
Text()
Perintah Text() digunakan untuk menuliskan teks pada koordinat tertentu dalam
dokumen. Adapun titik pusat dokumen (origin) adalah pada titik di pojok kiri atas
dokumen. Sintaks dari perintah ini adalah:
Text(x, y, teks)
Dengan x dan posisi mendatar terhadap origin, dan y adalah posisi vertikal terhadap
origin.
Contoh:
Berikut ini adalah script untuk menulis teks pada posisi koordinat 50 mm horizontal dan
20 mm vertikal.
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->Text(50, 20, 'Hello World!');
7
$pdf->Output();
?>
Catatan: Satuan panjang koordinat tergantung jenis satuan yang diset pada FPDF().
Berikut ini tampilan outputnya:
Cell()
Selain Text(), Anda dapat pula menuliskan teks dengan menggunakan perintah Cell().
Adapun sintaksnya adalah sbb:
Cell(w, h, text, border, ln, align, fill, link)
Dengan menggunakan cell, sebuah teks diletakkan pada sebuah cell berukuran tertentu.
Parameter w menyatakan panjang cell (satuan tergantung dari satuan dalam FPDF), h
menyatakan lebar cell (satuan tergantung dari satuan dalam FPDF). Apabila parameter w
diberikan nilai 0, maka panjang cell adalah mulai dari kiri sampai kanan halaman
(tergantung jenis kertas)
Parameter text adalah string yang akan ditulis dalam cell tersebut, border merupakan
option bernilai 0 atau 1 yang menyatakan ada tidaknya border cell (0: tak ada border, 1:
ada border).
8
Parameter ln merupakan option untuk memposisikan teks berikutnya yang akan
dituliskan setelah perintah Cell() dipanggil. Option ini bernilai 0: posisi teks berikutnya di
sebelah kanannya, 1: posisi teks berikutnya di awal baris selanjutnya, dan 2: posisi teks
berikutnya tepat di bawah.
Parameter align menyatakan posisi teks relatif terhadap cell. Beberapa alternatif value
dari option ini adalah ‘L’ (left), ‘R’ (right) dan ‘C’ (center).
Parameter fill digunakan untuk menentukan apakah cell diberikan warna latar atau tidak.
Parameter ini dapat diisi dengan value 0 jika tidak ada warna latar, atau 1 apabila ada.
Secara default apabila bernilai 1, maka warna latarnya adalah hitam. Untuk mengubah
menjadi warna yang lain dapat digunakan SetFillColor(warna) dengan format warna yang
digunakan adalah RGB. Contoh penggunaan SetFillColor dapat dilihat pada contoh
selanjutnya.
Teks dalam cell dapat pula diberikan sebuah link. Setting link ini dilakukan dengan
menambahkan parameter link pada perintah Cell(). Sebagai contoh, berikut ini adalah
perintah Cell() untuk memberikan link pada teks ke Google.com
$pdf->Cell(40,10,'Teks 5','http://www.google.com');
Selanjutnya akan diberikan sebuah script contoh yang akan menampilkan beberapa jenis
output teks dari penggunaan Cell() yang berbeda.
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
// setting jenis font Times New Roman, standard, size 12
$pdf->SetFont('Times','',12);
// cell berukuran 20x10 mm, tanpa border, teks berikutnya akan
// diletakkan di bawah teks ini, posisi teks center dalam cell
$pdf->Cell(20,10,'Teks 1',0,2,'C');
// cell berukuran 40x10 mm, dengan border, teks berikutnya akan
// diletakkan pada posisi awal baris berikutnya, teks berada di kanan
// dalam cell
$pdf->Cell(40,10,'Teks 2',1,1,'R');
// cell berukuran 20x50 mm, dengan border, teks berikutnya akan
// diletakkan di kanan teks ini, teks berada di tengah cell
$pdf->Cell(20,50,'Teks 3',1,0,'C');
// setting warna hijau pada cell yang akan dibuat
9
$pdf->SetFillColor(0, 255, 0);
// cell berukuran 40x10 mm, dengan border, teks berikutnya akan
// diletakkan tepat di bawah teks ini, teks berada di kiri
// dalam cell, diberi latar dengan warna hijau
$pdf->Cell(40,10,'Teks 4',1,2,'L', 1);
// setting warna biru pada cell yang akan dibuat
$pdf->SetFillColor(0, 0, 255);
// cell berukuran 40x10 mm, tanpa border, teks berikutnya akan
// diletakkan posisi awal pada baris selanjutnya, teks berada di tengah
// cell, diberi latar dengan warna biru, diberi link ke Google.
$pdf->Cell(40,10,'Teks 5',0,1,'C', 1, 'http://www.google.com');
$pdf->Output();
?>
Output dari script di atas adalah sbb:
10
MultiCell()
MultiCell() berfungsi seperti halnya Cell(), namun perbedaannya Cell() hanya akan
efektif untuk teks yang tidak terlalu panjang, sedangkan MultiCell() dapat digunakan
untuk menulis teks panjang.
Sintaks secara umum adalah sbb:
MultiCell(w, h, txt, border, align, fill)
Penjelasan parameter dari MultiCell() sama dengan Cell(), namun untuk parameter align
selain dapat diberikan value ‘R’ (rata kanan), ‘L’ (rata kiri), ‘C’ (rata tengah), dapat pula
diberikan value ‘J’ (justified). Default dari align adalah Justified.
Sedangkan untuk parameter h, dapat diibaratkan merupakan jarak antar baris teks (khusus
untuk baris teks lebih dari satu buah).
Berikut ini adalah beberapa contoh penggunaan MultiCell()
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Times','',12);
// membuat multicell berukuran panjang 50 mm, jarak antar baris 5 mm,
// diberi border, rata kanan
$pdf->MultiCell(50, 5, 'Ini adalah teks pertama. Ini adalah teks
pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah
teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. ', 1,
'R');
// membuat baris kosong
$pdf->MultiCell(0,10,'');
// membuat multicell dari kiri sampai kanan halaman, jarak
// antar baris 10 mm, diberi border, justified (default)
$pdf->MultiCell(0, 10, 'Ini adalah teks kedua. Ini adalah teks kedua.
Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. ',1);
// membuat baris kosong
$pdf->MultiCell(0,10,'');
// setting warna latar cell dengan hijau
11
$pdf->SetFillColor(0,255,0);
// membuat multicell dari kiri sampai kanan halaman, jarak antar baris
// 5 mm, diberi border, rata kiri, diberi warna latar hijau
$pdf->MultiCell(0, 5, 'Ini adalah teks ketiga. Ini adalah teks ketiga.
Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga.
Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga.
Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga.
Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga.
',1,'L',1);
$pdf->Output();
?>
Adapun output dari script di atas adalah sbb:
MengubahWarna Text
Secara default, warna teks adalah hitam. Anda dapat mengubahnya menjadi warna lain
dengan menggunakan perintah SetTextColor(). Warna yang diinginkan ditulis dalam
RGB.
Contoh:
12
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Times','',12);
// setting warna biru pada teks
$pdf->SetTextColor(0, 0, 255);
$pdf->MultiCell(0, 5, 'Ini adalah teks pertama. Ini adalah teks pertama.
Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks
pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah
teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini
adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama.
', 1, 'J');
$pdf->MultiCell(0, 5, '');
// setting warna merah pada teks
$pdf->SetTextColor(255, 0, 0);
$pdf->MultiCell(0, 5, 'Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini
adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. ', 1,
'J');
$pdf->Output();
?>
Outputnya adalah:
13
Catatan:
Namun sayang, pengubahan warna teks tidak dapat dilakukan secara inline (hanya teks
tertentu pada suatu paragraf atau multiline).
14
Membuat Header dan Footer
Anda dapat mempercantik halaman dokumen PDF dengan menambahkan header dan
footer. Untuk menambahkan header dan footer, Anda harus membuat subclass pada
FPDF().
Header dapat ditambahkan dengan membuat function berikut ini dalam subclass PDF
sebagai perluasan FPDF.
class PDF extends FPDF
{
function Header()
{
// code untuk menulis header
}
}
Function Header() secara otomatis akan dipanggil setelah konstruktor PDF dibuat dengan
menggunakan new PDF();
Contoh:
<?phprequire('fpdf.php'); // file fpdf.php harus diincludekanclass PDF
extends FPDF
{
function Header()
{
// setting properti font
$this->SetFont('Arial','I',10);
// menulis header
$this->Cell(30,10,'Ini adalah contoh sebuah header',0,0,'L');
// membuat jarak terhadap cell sebelumnya
$this->Cell(132);
// setting properti font
$this->SetFont('Arial','B',10);
$this->Cell(30,10,'rosihanari.net',0,0,'L');
// membuat garis dari koordinat (11 mm, 18 mm) sampai koordinat (198
// mm,18 mm)
15
$this->Line(11,18,198,18);
// membuat space kosong antara header dengan teks konten
$this->Ln(20);
}
}
$pdf=new PDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->MultiCell(0, 5, 'Ini adalah teks isi. Ini adalah teks isi. Ini
adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah
teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi.
Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini
adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah
teks isi. Ini adalah teks isi. Ini adalah teks isi. ');
$pdf->Output();
?>
Outputnya adalah sbb:
Sedangkan untuk membuat footer, caranya juga sama dengan header yaitu membuat
function Footer() dalam subclass FPDF.
class PDF extends FPDF
{
function Footer()
16
{
// code untuk menulis footer
}
}
Apabila Anda ingin dokumen PDF memiliki header dan footer sekaligus, maka isi
subclassnya berbentuk:
class PDF extends FPDF
{
function Header()
{
// code untuk menulis header
}
function Footer()
{
// code untuk menulis footer
}
}
Contoh:
<?php
require('fpdf.php'); // file fpdf.php harus diincludekan
class PDF extends FPDF
{
// membuat header
function Header()
{
// setting properti font
$this->SetFont('Arial','I',10);
// menulis header
$this->Cell(30,10,'Ini adalah contoh sebuah header',0,0,'L');
// membuat jarak terhadap cell sebelumnya
$this->Cell(132);
// setting properti font
$this->SetFont('Arial','B',10);
$this->Cell(30,10,'rosihanari.net',0,0,'L');
// membuat garis dari koordinat (11 mm, 18 mm) sampai koordinat (198
// mm,18 mm)
$this->Line(11,18,198,18);
// membuat space kosong antara header dengan teks konten
$this->Ln(20);
}
17
// membuat footer
function Footer()
{
//Position at 1.5 cm from bottom
$this->SetY(-15);
//Arial italic 8
$this->SetFont('Arial','I',8);
//Page number
$this->Cell(0,10,'Halaman ke- '.$this->PageNo().' dari
{nb}',0,0,'R');
}
}
$pdf=new PDF('P','mm','A4');
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=15;$i++)
{
$pdf->MultiCell(0, 5, 'Ini adalah teks isi. Ini adalah teks isi. Ini
adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah
teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi.
Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini
adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah
teks isi. Ini adalah teks isi. Ini adalah teks isi. ');
$pdf->MultiCell(0,5,'');
}
$pdf->Output();
?>
Tampilan dari script di atas adalah sbb:
18
19
Membuat Teks Format Kolom
Format kolom seringkali Anda jumpai dalam artikel ataupun surat kabar. Apabila Anda
ingin membuat dokumen PDF berformat seperti itu dengan menggunakan PHP, jangan
khawatir karena tutorial berikut ini akan menjelaskannya.
Untuk membuat tampilan konten berformat kolom, Anda akan disibukkan dengan
programming karena tidak ada function khusus untuk membuat kolom secara otomatis.
Berikut ini adalah script untuk menampilkan konten berbentuk kolom yang sudah
dimodifikasi dari aslinya. Kolom yang terbentuk dari script ini sejumlah 2 buah dengan
lebar setiap kolom adalah 90 mm dan jarak antar kolomnya 10 mm.
<?php
require('fpdf.php');
// setting format kolom (satuan dalam mm)
$lebarkolom = 90;
$jarakantarkolom = 10;
$jmlkolom = 2;
class PDF extends FPDF
{
var $col=0;
var $y=0;
// menampilkan judul sebagai header
function Header()
{
global $title;
$this->SetFont('Arial','B',15);
$w=$this->GetStringWidth($title)+6;
$this->SetDrawColor(0,80,180);
$this->SetFillColor(230,230,0);
$this->SetTextColor(220,50,50);
$this->SetLineWidth(1);
$this->Cell($w,9,$title,1,1,'C',1);
$this->y0=$this->GetY();
}
function SetCol($col)
{
global $lebarkolom;
global $jarakantarkolom;
$this->col=$col;
$x=10+$col*($lebarkolom + $jarakantarkolom);
20
$this->SetLeftMargin($x);
$this->SetX($x);
}
function AcceptPageBreak()
{
global $jmlkolom;
if($this->col<$jmlkolom-1)
{
$this->SetCol($this->col+1);
$this->SetY($this->y0);
return false;
}
else
{
$this->SetCol(0);
return true;
}
}
}
$pdf=new PDF();
$title='Ini adalah bagian judul';
$pdf->SetTitle($title);
$pdf->AddPage();
$pdf->SetFont('Times','',12);
// menampilkan teks isi dengan jarak antar baris dalam paragraf 5 mm
for ($i=1;$i<=20;$i++)
{
$pdf->MultiCell($lebarkolom,5,'Ini merupakan paragraf isi dengan format
kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan
paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan
format kolom. Ini merupakan paragraf isi dengan format kolom. Ini
merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi
dengan format kolom. ');
// memberi jarak antar paragraf
$pdf->Ln();
}
$pdf->Output();
?>
Hasil tampilan dari script di atas adalah
21
22
Menyisipkan Image
Dengan FPDF, sebuah image dapat disisipkan ke dalam dokumen PDF. Namun format
image yang dapat disisipkan hanyalah JPEG dan PNG saja. Perintah yang digunakan
untuk menyisipkan image adalah Image(), dan sintaksnya adalah sebagai berikut:
Image(path file, x, y, w, h, format, 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. Titik koordinat (x, y) adalah titik pada pojok kiri atas image.
Satuan dari x dan y tergantung satuan yang dipilih pada konstruktor FPDF().
 Parameter w dan h bersifat optional digunakan untuk mengatur panjang dan lebar
image dalam dokumen PDF
 Parameter format digunakan untuk menentukan format image, apakah ‘JPG’,
‘JPEG’ atau ‘PNG’. Secara default, format image ditentukan oleh extension file
imagenya.
 Anda juga dapat menambahkan link pada image tsb. Link diletakkan pada
parameter link.
Contoh:
<?php
require('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
// menyisipkan image pada posisi 20 mm mendatar, 30 mm vertikal
$pdf->Image('image/logo.png',20,30);
$pdf->Output();
?>
Outputnya adalah:
23
Contoh:
Berikut ini contoh image yang ada linknya
<?php
require('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->Image('image/logo.png',20,30,40,30,'','http://www.fpdf.org');
$pdf->Output();
?>
Hasil tampilannya adalah:
24
25
Membuat Tabel
Tabel erat kaitannya dengan representasi data. Hal ini dilakukan supaya data lebih enak
dibaca dan mempercantik tampilan.
Untuk membuat tabel dalam dokumen PDF menggunakan PHP, Anda akan sedikit
melakukan programming. Dalam pembahasan ini, data yang disajikan dalam tabel berasal
dari database MySQL.
Sebagai contoh, terlebih dahulu kita siapkan database dan tabelnya. Berikut ini query
untuk membuat tabel dan datanya.
Nama DB : data
CREATE TABLE `mhs` (
`NIM` varchar(5) NOT NULL,
`NAMAMHS` varchar(20) NOT NULL,
`ALAMAT` varchar(10) NOT NULL,
PRIMARY KEY (`NIM`)
);
insert into mhs values
('M0191', 'Rosihan Ari Y', 'Solo'),
('M0192', 'Dwi Amalia F', 'Kudus'),
('M0193', 'Faza Fauzan', 'Solo'),
('M0194', 'Nada Hasanah', 'Solo');
Pada contoh ini, kita akan membuat tabel yang akan menampilkan 4 data/record di atas
dan terdiri dari 4 buah kolom (NO, NIM, NAMAMHS, ALAMAT). Kolom NO
digunakan untuk menampilkan nomor urut 1, 2, 3, dst. Karena nomor tersebut tidak ada
dalam field tabel, maka akan ada sedikit programming untuk keperluan tsb.
Pada contoh pertama akan dibuat tabel biasa berbentuk sbb:
26
Untuk membuat tabel seperti di atas, sebenarnya kita hanya main-main dengan perintah
Cell(), karena pada prinsipnya sebuah tabel tersusun dari banyak sel. Berikut ini adalah
scriptnya;
<?php
require('fpdf.php');
class PDF extends FPDF
{
// membaca data dari database
function LoadData()
{
$data=array();
mysql_connect("localhost","root","root");
mysql_select_db("data");
$query = "SELECT * FROM mhs";
$hasil = mysql_query($query);
$i = 0;
while ($fetchdata = mysql_fetch_row($hasil))
{
$i++; // membuat counter 1, 2, 3, ... untuk ditampilkan
$data[] = $fetchdata;
}
return $data;
}
// function untuk menampilkan tabel
27
function TabelBiasa($header,$data)
{
// setting lebar masing-masing kolom dalam mm
$w=array(10,20,50,45);
// membuat kepala tabel
for($i=0;$i<count($header);$i++)
{
// memberi warna latar merah pada kepala tabel
$this->SetFillColor(255, 0, 0);
// setting huruf bold pada kepala tabel
$this->SetFont('Arial','B',12);
// parameter L menunjukkan teks rata kiri pada setiap
// sel kepala tabel
$this->Cell($w[$i],7,$header[$i],1,0,'L',1);
}
$this->Ln();
// menampilkan data
// setting jenis font pada data tabel
$this->SetFont('Arial','',12);
foreach($data as $row)
{
for($i=0;$i<=sizeof($w)-1;$i++)
$this->Cell($w[$i],6,$row[$i],1);
}
// penutup tabel
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
// nama-nama kolom untuk kepala tabel
$header=array('No','NIM','NAMA MAHASISWA','ALAMAT');
// memanggil function untuk baca data
$data=$pdf->LoadData();
$pdf->AddPage();
// memanggil function untuk menampilkan tabel
$pdf->TabelBiasa($header,$data);
$pdf->Output();
?>
Pada contoh kedua, akan dibuat tampilan tabel yang sedikit lebih cantik dari sebelumnya
yaitu ada pergantian warna setiap barisnya. Perhatikan tampilan tabel berikut ini:
28
Berikut ini adalah scriptnya:
<?php
require('fpdf.php');
class PDF extends FPDF
{
// membaca data dari database
function LoadData()
{
$data=array();
mysql_connect("localhost","root","root");
mysql_select_db("data");
$query = "SELECT * FROM mhs";
$hasil = mysql_query($query);
$i = 0;
while ($fetchdata = mysql_fetch_row($hasil))
{
$i++; // membuat counter 1, 2, 3, ... untuk ditampilkan
array_unshift($fetchdata,$i);
$data[] = $fetchdata;
}
return $data;
}
// function untuk menampilkan tabel
29
function TabelWarna($header,$data)
{
// setting lebar masing-masing kolom dalam mm
$w=array(10,20,50,45);
// membuat kepala tabel
for($i=0;$i<count($header);$i++)
{
// memberi warna latar merah pada kepala tabel
$this->SetFillColor(255, 0, 0);
// setting huruf bold pada kepala tabel
$this->SetFont('Arial','B',12);
// parameter L menunjukkan teks rata kiri pada setiap
}
$this->Ln();
// menampilkan data
// setting jenis font pada data tabel
$this->SetFont('Arial','',12);
$j = 0;
foreach($data as $row)
{
// menampilkan perubahan warna latar putih dan biru muda
// setiap ganti baris
if ($j % 2 == 0)
$this->SetFillCOlor(255,255,255); // setting warna putih
else
$this->SetFillCOlor(224,235,255); // setting warna biru muda
// menampilkan data rata kiri
for($i=0;$i<=sizeof($w)-1;$i++)
$this->Cell($w[$i],6,$row[$i],1,0,'L',1);
$this->Ln();
$j++;
}
// penutup tabel
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
// nama-nama kolom untuk kepala tabel
$header=array('No','NIM','NAMA MAHASISWA','ALAMAT');
// memanggil function untuk baca data
$data=$pdf->LoadData();
$pdf->AddPage();
// memanggil function untuk menampilkan tabel
$pdf->TabelWarna($header,$data);
$pdf->Output();
?>

More Related Content

Similar to Modul PDF.docx

Mengenal script php 3
Mengenal script php 3Mengenal script php 3
Mengenal script php 3
Ali Muntaha
 
Tugas 3 Pemrograman API
Tugas 3 Pemrograman APITugas 3 Pemrograman API
Tugas 3 Pemrograman API
1110651055
 
10012333 tugas1 db_web
10012333 tugas1 db_web10012333 tugas1 db_web
10012333 tugas1 db_web
trondoladitcesar
 
Modul php 1
Modul php 1Modul php 1
Modul php 1
Sejahtera Affif
 
Modul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileModul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileleni_istikomah
 
pemrograman php ii
pemrograman  php iipemrograman  php ii
pemrograman php ii
Hazzan Oratso Aishiteru
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)nakomuri
 
Jobsheet buku digital
Jobsheet buku digitalJobsheet buku digital
Jobsheet buku digital
Miswardi Miswardi
 
MODUL_PHP_TIK_XII
MODUL_PHP_TIK_XIIMODUL_PHP_TIK_XII
MODUL_PHP_TIK_XII
Kartiwa G.S., S.Kom
 
Laporan pratikum iv web
Laporan pratikum iv webLaporan pratikum iv web
Laporan pratikum iv web
rahmi wahyuni
 
PHP & MySQL Basic
PHP & MySQL BasicPHP & MySQL Basic
PHP & MySQL Basic
hakimbks
 
Mengenal fungsi scanf() dan printf()
Mengenal fungsi scanf() dan printf()Mengenal fungsi scanf() dan printf()
Mengenal fungsi scanf() dan printf()
Rahmat Rijal
 
Praktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa cPraktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa c
Izhan Nassuha
 
Php 1
Php 1Php 1
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
Ni Kadek Lia Mastika Dewi
 
modul PHP
modul PHPmodul PHP
modul PHP
Elni Hazar
 
Php coder
Php coderPhp coder
Php coder
Sejahtera Affif
 

Similar to Modul PDF.docx (20)

Noprianto Antiword
Noprianto AntiwordNoprianto Antiword
Noprianto Antiword
 
Mengenal script php 3
Mengenal script php 3Mengenal script php 3
Mengenal script php 3
 
Tugas 3 Pemrograman API
Tugas 3 Pemrograman APITugas 3 Pemrograman API
Tugas 3 Pemrograman API
 
10012333 tugas1 db_web
10012333 tugas1 db_web10012333 tugas1 db_web
10012333 tugas1 db_web
 
Modul php 1
Modul php 1Modul php 1
Modul php 1
 
Modul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFileModul Praktikum PW 2016 Bab 4 - OperasiFile
Modul Praktikum PW 2016 Bab 4 - OperasiFile
 
pemrograman php ii
pemrograman  php iipemrograman  php ii
pemrograman php ii
 
Tugas api 3fix
Tugas api 3fixTugas api 3fix
Tugas api 3fix
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
 
Jobsheet buku digital
Jobsheet buku digitalJobsheet buku digital
Jobsheet buku digital
 
MODUL_PHP_TIK_XII
MODUL_PHP_TIK_XIIMODUL_PHP_TIK_XII
MODUL_PHP_TIK_XII
 
Laporan pratikum iv web
Laporan pratikum iv webLaporan pratikum iv web
Laporan pratikum iv web
 
Tutorial php
Tutorial phpTutorial php
Tutorial php
 
PHP & MySQL Basic
PHP & MySQL BasicPHP & MySQL Basic
PHP & MySQL Basic
 
Mengenal fungsi scanf() dan printf()
Mengenal fungsi scanf() dan printf()Mengenal fungsi scanf() dan printf()
Mengenal fungsi scanf() dan printf()
 
Praktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa cPraktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa c
 
Php 1
Php 1Php 1
Php 1
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
 
modul PHP
modul PHPmodul PHP
modul PHP
 
Php coder
Php coderPhp coder
Php coder
 

More from Fajar Baskoro

Generasi Terampil Digital Skill-2023.pptx
Generasi Terampil Digital Skill-2023.pptxGenerasi Terampil Digital Skill-2023.pptx
Generasi Terampil Digital Skill-2023.pptx
Fajar Baskoro
 
Cara Membuat Kursus Online Wordpress-tutorstarter
Cara Membuat Kursus Online Wordpress-tutorstarterCara Membuat Kursus Online Wordpress-tutorstarter
Cara Membuat Kursus Online Wordpress-tutorstarter
Fajar Baskoro
 
PPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
PPT-Kick Off Double Track 2024 melaksanakan Festival RamadhanPPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
PPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
Fajar Baskoro
 
Buku Inovasi 2023 - 2024 konsep capaian KUS
Buku Inovasi 2023 - 2024 konsep capaian  KUSBuku Inovasi 2023 - 2024 konsep capaian  KUS
Buku Inovasi 2023 - 2024 konsep capaian KUS
Fajar Baskoro
 
Pemaparan Sosialisasi Program Dual Track 2024.pptx
Pemaparan Sosialisasi Program Dual Track 2024.pptxPemaparan Sosialisasi Program Dual Track 2024.pptx
Pemaparan Sosialisasi Program Dual Track 2024.pptx
Fajar Baskoro
 
Executive Millennial Entrepreneur Award 2023-1a-1.pdf
Executive Millennial Entrepreneur Award  2023-1a-1.pdfExecutive Millennial Entrepreneur Award  2023-1a-1.pdf
Executive Millennial Entrepreneur Award 2023-1a-1.pdf
Fajar Baskoro
 
1-Executive Millennial Entrepreneur Award 2023-1-cetak.pptx
1-Executive Millennial Entrepreneur Award  2023-1-cetak.pptx1-Executive Millennial Entrepreneur Award  2023-1-cetak.pptx
1-Executive Millennial Entrepreneur Award 2023-1-cetak.pptx
Fajar Baskoro
 
Executive Millennial Entrepreneur Award 2023-1.pptx
Executive Millennial Entrepreneur Award  2023-1.pptxExecutive Millennial Entrepreneur Award  2023-1.pptx
Executive Millennial Entrepreneur Award 2023-1.pptx
Fajar Baskoro
 
Pemrograman Mobile - JetPack Compose1.pptx
Pemrograman Mobile - JetPack Compose1.pptxPemrograman Mobile - JetPack Compose1.pptx
Pemrograman Mobile - JetPack Compose1.pptx
Fajar Baskoro
 
Evaluasi KPP Program Dual Track Provinsi Kaltim
Evaluasi KPP Program Dual Track Provinsi KaltimEvaluasi KPP Program Dual Track Provinsi Kaltim
Evaluasi KPP Program Dual Track Provinsi Kaltim
Fajar Baskoro
 
foto tenda digital skill program dari sekolah
foto tenda digital skill program dari sekolahfoto tenda digital skill program dari sekolah
foto tenda digital skill program dari sekolah
Fajar Baskoro
 
Meraih Peluang di Gig Economy yang cocok bagi remaja
Meraih Peluang di Gig Economy yang cocok bagi remajaMeraih Peluang di Gig Economy yang cocok bagi remaja
Meraih Peluang di Gig Economy yang cocok bagi remaja
Fajar Baskoro
 
Membangun aplikasi mobile dengan Appsheet
Membangun aplikasi mobile dengan AppsheetMembangun aplikasi mobile dengan Appsheet
Membangun aplikasi mobile dengan Appsheet
Fajar Baskoro
 
epl1.pdf
epl1.pdfepl1.pdf
epl1.pdf
Fajar Baskoro
 
user.docx
user.docxuser.docx
user.docx
Fajar Baskoro
 
Dtmart.pptx
Dtmart.pptxDtmart.pptx
Dtmart.pptx
Fajar Baskoro
 
DualTrack-2023.pptx
DualTrack-2023.pptxDualTrack-2023.pptx
DualTrack-2023.pptx
Fajar Baskoro
 
BADGE.pptx
BADGE.pptxBADGE.pptx
BADGE.pptx
Fajar Baskoro
 
womenatwork.pdf
womenatwork.pdfwomenatwork.pdf
womenatwork.pdf
Fajar Baskoro
 
Transition education to employment.pdf
Transition education to employment.pdfTransition education to employment.pdf
Transition education to employment.pdf
Fajar Baskoro
 

More from Fajar Baskoro (20)

Generasi Terampil Digital Skill-2023.pptx
Generasi Terampil Digital Skill-2023.pptxGenerasi Terampil Digital Skill-2023.pptx
Generasi Terampil Digital Skill-2023.pptx
 
Cara Membuat Kursus Online Wordpress-tutorstarter
Cara Membuat Kursus Online Wordpress-tutorstarterCara Membuat Kursus Online Wordpress-tutorstarter
Cara Membuat Kursus Online Wordpress-tutorstarter
 
PPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
PPT-Kick Off Double Track 2024 melaksanakan Festival RamadhanPPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
PPT-Kick Off Double Track 2024 melaksanakan Festival Ramadhan
 
Buku Inovasi 2023 - 2024 konsep capaian KUS
Buku Inovasi 2023 - 2024 konsep capaian  KUSBuku Inovasi 2023 - 2024 konsep capaian  KUS
Buku Inovasi 2023 - 2024 konsep capaian KUS
 
Pemaparan Sosialisasi Program Dual Track 2024.pptx
Pemaparan Sosialisasi Program Dual Track 2024.pptxPemaparan Sosialisasi Program Dual Track 2024.pptx
Pemaparan Sosialisasi Program Dual Track 2024.pptx
 
Executive Millennial Entrepreneur Award 2023-1a-1.pdf
Executive Millennial Entrepreneur Award  2023-1a-1.pdfExecutive Millennial Entrepreneur Award  2023-1a-1.pdf
Executive Millennial Entrepreneur Award 2023-1a-1.pdf
 
1-Executive Millennial Entrepreneur Award 2023-1-cetak.pptx
1-Executive Millennial Entrepreneur Award  2023-1-cetak.pptx1-Executive Millennial Entrepreneur Award  2023-1-cetak.pptx
1-Executive Millennial Entrepreneur Award 2023-1-cetak.pptx
 
Executive Millennial Entrepreneur Award 2023-1.pptx
Executive Millennial Entrepreneur Award  2023-1.pptxExecutive Millennial Entrepreneur Award  2023-1.pptx
Executive Millennial Entrepreneur Award 2023-1.pptx
 
Pemrograman Mobile - JetPack Compose1.pptx
Pemrograman Mobile - JetPack Compose1.pptxPemrograman Mobile - JetPack Compose1.pptx
Pemrograman Mobile - JetPack Compose1.pptx
 
Evaluasi KPP Program Dual Track Provinsi Kaltim
Evaluasi KPP Program Dual Track Provinsi KaltimEvaluasi KPP Program Dual Track Provinsi Kaltim
Evaluasi KPP Program Dual Track Provinsi Kaltim
 
foto tenda digital skill program dari sekolah
foto tenda digital skill program dari sekolahfoto tenda digital skill program dari sekolah
foto tenda digital skill program dari sekolah
 
Meraih Peluang di Gig Economy yang cocok bagi remaja
Meraih Peluang di Gig Economy yang cocok bagi remajaMeraih Peluang di Gig Economy yang cocok bagi remaja
Meraih Peluang di Gig Economy yang cocok bagi remaja
 
Membangun aplikasi mobile dengan Appsheet
Membangun aplikasi mobile dengan AppsheetMembangun aplikasi mobile dengan Appsheet
Membangun aplikasi mobile dengan Appsheet
 
epl1.pdf
epl1.pdfepl1.pdf
epl1.pdf
 
user.docx
user.docxuser.docx
user.docx
 
Dtmart.pptx
Dtmart.pptxDtmart.pptx
Dtmart.pptx
 
DualTrack-2023.pptx
DualTrack-2023.pptxDualTrack-2023.pptx
DualTrack-2023.pptx
 
BADGE.pptx
BADGE.pptxBADGE.pptx
BADGE.pptx
 
womenatwork.pdf
womenatwork.pdfwomenatwork.pdf
womenatwork.pdf
 
Transition education to employment.pdf
Transition education to employment.pdfTransition education to employment.pdf
Transition education to employment.pdf
 

Recently uploaded

Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
LucyKristinaS
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
DEVI390643
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdfPENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
smp4prg
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
gloriosaesy
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
lindaagina84
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
PURWANTOSDNWATES2
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
widyakusuma99
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik DosenUNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
AdrianAgoes9
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
TEDYHARTO1
 

Recently uploaded (20)

Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdfPENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik DosenUNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik Dosen
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
 

Modul PDF.docx

  • 1. 1 Membuat Dokumen PDF 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 di- lakukan 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.
  • 2. 2 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:
  • 3. 3 Nantikan seri berikutnya untuk membuat dokumen PDF dengan PHP ini. Pokok bahasan selanjutnya: memformat teks, halaman, paragraf. Pokok bahasan ini akan diungkap secara detail tentang formatting yang terkait dengan teks, halaman dan paragraf.
  • 4. 4 Formatting Page, Teks Pada tips sebelumnya sudah dijelaskan bagaimana membuat contoh sederhana sebuah dokumen PDF menggunakan PHP. Pada tips berikut ini akan dijelaskan bagaimana memformat halaman dokumen dan memformat margin. Memformat Halaman Dokumen Untuk memformat halaman dokumen digunakanlah konstruktor FPDF(). Secara umum, sintaks untuk FPDF() adalah sbb: FPDF(orientasi kertas, satuan kertas, format kertas) Penjelasan:  Parameter orientasi kertas terdapat pilihan : 'L' (landscape) atau 'P' (portrait)  Parameter satuan kertas terdapat pilihan : 'mm' (milimeter), 'cm' (centimeter), 'pt' (point), 'in' (inch)  Parameter format kertas terdapat pilihan : 'A3', 'A4' (kuarto), 'A5', 'Letter' dan 'Legal' Contoh: Berikut ini perintah untuk membuat format halaman A4, landscape dan satuan unitnya cm. $pdf=new FPDF('L','cm','A4'); Memformat Margin Untuk memformat margin halaman, Anda dapat menggunakan SetMargin(). Berikut ini adalah sintaksnya: SetMargins(margin kiri, margin atas [, margin kanan]) Secara default, batas margin halaman dokumen adalah 1 cm (untuk semua sisi). Satuan dari besarnya margin tergantung dari satuan yang ditentukan dalam konstruktor FPDF(). Perintah SetMargins() ini dituliskan setelah FPDF(). Sebagai contoh, berikut ini adalah perintah untuk memformat margin: 4 cm (margin kiri), 4 cm (margin atas) dan 3 cm (margin kanan).
  • 5. 5 $pdf=new FPDF('L','cm','A4'); $pdf->SetMargins(4,4,3); Perintah di atas akan ekuivalen dengan $pdf=new FPDF('P','mm','A4'); $pdf->SetMargins(40,40,30); Catatan: ingat konversi dari cm ke mm ya…   Sedangkan berikut ini contoh script utuh yang menggunakan pengaturan margin. <?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF('P','mm','A4'); $pdf->SetMargins(40,40,30); $pdf->AddPage(); $pdf->SetFont('Times','',12); $pdf->write(10,'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! '); $pdf->Output(); ?> Adapun tampilan dari script di atas adalah
  • 6. 6 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. Sintaks nya adalah SetFont(type, format, size) Jenis font yang diinginkan dapat ditulis pada parameter type, misalnya ‘arial’ atau ‘times’ untuk Times New Roman dll. Format teks, seperti bold (‘B’), italic (‘I’), atau underlined (‘U’) diletakkan pada parameter format. Sedangkan apabila diinginkan teks tidak berformat, cukup ditulis string kosong atau ‘’. Sedangkan size menunjukkan ukuran font dalam satuan points. Contoh: Berikut ini perintah SetPoint() untuk meng-set jenis fontnya arial, bold dan berukuran 12 pts. $pdf->SetFont('Arial','B',12); Suatu teks dapat dalam dokumen PDF dapat dituliskan dengan beberapa cara. Berikut ini beberapa perintah untuk menuliskan teks. Text() Perintah Text() digunakan untuk menuliskan teks pada koordinat tertentu dalam dokumen. Adapun titik pusat dokumen (origin) adalah pada titik di pojok kiri atas dokumen. Sintaks dari perintah ini adalah: Text(x, y, teks) Dengan x dan posisi mendatar terhadap origin, dan y adalah posisi vertikal terhadap origin. Contoh: Berikut ini adalah script untuk menulis teks pada posisi koordinat 50 mm horizontal dan 20 mm vertikal. <?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF('P','mm','A4'); $pdf->AddPage(); $pdf->SetFont('Times','',12); $pdf->Text(50, 20, 'Hello World!');
  • 7. 7 $pdf->Output(); ?> Catatan: Satuan panjang koordinat tergantung jenis satuan yang diset pada FPDF(). Berikut ini tampilan outputnya: Cell() Selain Text(), Anda dapat pula menuliskan teks dengan menggunakan perintah Cell(). Adapun sintaksnya adalah sbb: Cell(w, h, text, border, ln, align, fill, link) Dengan menggunakan cell, sebuah teks diletakkan pada sebuah cell berukuran tertentu. Parameter w menyatakan panjang cell (satuan tergantung dari satuan dalam FPDF), h menyatakan lebar cell (satuan tergantung dari satuan dalam FPDF). Apabila parameter w diberikan nilai 0, maka panjang cell adalah mulai dari kiri sampai kanan halaman (tergantung jenis kertas) Parameter text adalah string yang akan ditulis dalam cell tersebut, border merupakan option bernilai 0 atau 1 yang menyatakan ada tidaknya border cell (0: tak ada border, 1: ada border).
  • 8. 8 Parameter ln merupakan option untuk memposisikan teks berikutnya yang akan dituliskan setelah perintah Cell() dipanggil. Option ini bernilai 0: posisi teks berikutnya di sebelah kanannya, 1: posisi teks berikutnya di awal baris selanjutnya, dan 2: posisi teks berikutnya tepat di bawah. Parameter align menyatakan posisi teks relatif terhadap cell. Beberapa alternatif value dari option ini adalah ‘L’ (left), ‘R’ (right) dan ‘C’ (center). Parameter fill digunakan untuk menentukan apakah cell diberikan warna latar atau tidak. Parameter ini dapat diisi dengan value 0 jika tidak ada warna latar, atau 1 apabila ada. Secara default apabila bernilai 1, maka warna latarnya adalah hitam. Untuk mengubah menjadi warna yang lain dapat digunakan SetFillColor(warna) dengan format warna yang digunakan adalah RGB. Contoh penggunaan SetFillColor dapat dilihat pada contoh selanjutnya. Teks dalam cell dapat pula diberikan sebuah link. Setting link ini dilakukan dengan menambahkan parameter link pada perintah Cell(). Sebagai contoh, berikut ini adalah perintah Cell() untuk memberikan link pada teks ke Google.com $pdf->Cell(40,10,'Teks 5','http://www.google.com'); Selanjutnya akan diberikan sebuah script contoh yang akan menampilkan beberapa jenis output teks dari penggunaan Cell() yang berbeda. <?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF('P','mm','A4'); $pdf->AddPage(); // setting jenis font Times New Roman, standard, size 12 $pdf->SetFont('Times','',12); // cell berukuran 20x10 mm, tanpa border, teks berikutnya akan // diletakkan di bawah teks ini, posisi teks center dalam cell $pdf->Cell(20,10,'Teks 1',0,2,'C'); // cell berukuran 40x10 mm, dengan border, teks berikutnya akan // diletakkan pada posisi awal baris berikutnya, teks berada di kanan // dalam cell $pdf->Cell(40,10,'Teks 2',1,1,'R'); // cell berukuran 20x50 mm, dengan border, teks berikutnya akan // diletakkan di kanan teks ini, teks berada di tengah cell $pdf->Cell(20,50,'Teks 3',1,0,'C'); // setting warna hijau pada cell yang akan dibuat
  • 9. 9 $pdf->SetFillColor(0, 255, 0); // cell berukuran 40x10 mm, dengan border, teks berikutnya akan // diletakkan tepat di bawah teks ini, teks berada di kiri // dalam cell, diberi latar dengan warna hijau $pdf->Cell(40,10,'Teks 4',1,2,'L', 1); // setting warna biru pada cell yang akan dibuat $pdf->SetFillColor(0, 0, 255); // cell berukuran 40x10 mm, tanpa border, teks berikutnya akan // diletakkan posisi awal pada baris selanjutnya, teks berada di tengah // cell, diberi latar dengan warna biru, diberi link ke Google. $pdf->Cell(40,10,'Teks 5',0,1,'C', 1, 'http://www.google.com'); $pdf->Output(); ?> Output dari script di atas adalah sbb:
  • 10. 10 MultiCell() MultiCell() berfungsi seperti halnya Cell(), namun perbedaannya Cell() hanya akan efektif untuk teks yang tidak terlalu panjang, sedangkan MultiCell() dapat digunakan untuk menulis teks panjang. Sintaks secara umum adalah sbb: MultiCell(w, h, txt, border, align, fill) Penjelasan parameter dari MultiCell() sama dengan Cell(), namun untuk parameter align selain dapat diberikan value ‘R’ (rata kanan), ‘L’ (rata kiri), ‘C’ (rata tengah), dapat pula diberikan value ‘J’ (justified). Default dari align adalah Justified. Sedangkan untuk parameter h, dapat diibaratkan merupakan jarak antar baris teks (khusus untuk baris teks lebih dari satu buah). Berikut ini adalah beberapa contoh penggunaan MultiCell() <?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF('P','mm','A4'); $pdf->AddPage(); $pdf->SetFont('Times','',12); // membuat multicell berukuran panjang 50 mm, jarak antar baris 5 mm, // diberi border, rata kanan $pdf->MultiCell(50, 5, 'Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. ', 1, 'R'); // membuat baris kosong $pdf->MultiCell(0,10,''); // membuat multicell dari kiri sampai kanan halaman, jarak // antar baris 10 mm, diberi border, justified (default) $pdf->MultiCell(0, 10, 'Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. ',1); // membuat baris kosong $pdf->MultiCell(0,10,''); // setting warna latar cell dengan hijau
  • 11. 11 $pdf->SetFillColor(0,255,0); // membuat multicell dari kiri sampai kanan halaman, jarak antar baris // 5 mm, diberi border, rata kiri, diberi warna latar hijau $pdf->MultiCell(0, 5, 'Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. Ini adalah teks ketiga. ',1,'L',1); $pdf->Output(); ?> Adapun output dari script di atas adalah sbb: MengubahWarna Text Secara default, warna teks adalah hitam. Anda dapat mengubahnya menjadi warna lain dengan menggunakan perintah SetTextColor(). Warna yang diinginkan ditulis dalam RGB. Contoh:
  • 12. 12 <?php require('fpdf.php'); // file fpdf.php harus diincludekan $pdf=new FPDF('P','mm','A4'); $pdf->AddPage(); $pdf->SetFont('Times','',12); // setting warna biru pada teks $pdf->SetTextColor(0, 0, 255); $pdf->MultiCell(0, 5, 'Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. Ini adalah teks pertama. ', 1, 'J'); $pdf->MultiCell(0, 5, ''); // setting warna merah pada teks $pdf->SetTextColor(255, 0, 0); $pdf->MultiCell(0, 5, 'Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. Ini adalah teks kedua. ', 1, 'J'); $pdf->Output(); ?> Outputnya adalah:
  • 13. 13 Catatan: Namun sayang, pengubahan warna teks tidak dapat dilakukan secara inline (hanya teks tertentu pada suatu paragraf atau multiline).
  • 14. 14 Membuat Header dan Footer Anda dapat mempercantik halaman dokumen PDF dengan menambahkan header dan footer. Untuk menambahkan header dan footer, Anda harus membuat subclass pada FPDF(). Header dapat ditambahkan dengan membuat function berikut ini dalam subclass PDF sebagai perluasan FPDF. class PDF extends FPDF { function Header() { // code untuk menulis header } } Function Header() secara otomatis akan dipanggil setelah konstruktor PDF dibuat dengan menggunakan new PDF(); Contoh: <?phprequire('fpdf.php'); // file fpdf.php harus diincludekanclass PDF extends FPDF { function Header() { // setting properti font $this->SetFont('Arial','I',10); // menulis header $this->Cell(30,10,'Ini adalah contoh sebuah header',0,0,'L'); // membuat jarak terhadap cell sebelumnya $this->Cell(132); // setting properti font $this->SetFont('Arial','B',10); $this->Cell(30,10,'rosihanari.net',0,0,'L'); // membuat garis dari koordinat (11 mm, 18 mm) sampai koordinat (198 // mm,18 mm)
  • 15. 15 $this->Line(11,18,198,18); // membuat space kosong antara header dengan teks konten $this->Ln(20); } } $pdf=new PDF('P','mm','A4'); $pdf->AddPage(); $pdf->SetFont('Times','',12); $pdf->MultiCell(0, 5, 'Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. '); $pdf->Output(); ?> Outputnya adalah sbb: Sedangkan untuk membuat footer, caranya juga sama dengan header yaitu membuat function Footer() dalam subclass FPDF. class PDF extends FPDF { function Footer()
  • 16. 16 { // code untuk menulis footer } } Apabila Anda ingin dokumen PDF memiliki header dan footer sekaligus, maka isi subclassnya berbentuk: class PDF extends FPDF { function Header() { // code untuk menulis header } function Footer() { // code untuk menulis footer } } Contoh: <?php require('fpdf.php'); // file fpdf.php harus diincludekan class PDF extends FPDF { // membuat header function Header() { // setting properti font $this->SetFont('Arial','I',10); // menulis header $this->Cell(30,10,'Ini adalah contoh sebuah header',0,0,'L'); // membuat jarak terhadap cell sebelumnya $this->Cell(132); // setting properti font $this->SetFont('Arial','B',10); $this->Cell(30,10,'rosihanari.net',0,0,'L'); // membuat garis dari koordinat (11 mm, 18 mm) sampai koordinat (198 // mm,18 mm) $this->Line(11,18,198,18); // membuat space kosong antara header dengan teks konten $this->Ln(20); }
  • 17. 17 // membuat footer function Footer() { //Position at 1.5 cm from bottom $this->SetY(-15); //Arial italic 8 $this->SetFont('Arial','I',8); //Page number $this->Cell(0,10,'Halaman ke- '.$this->PageNo().' dari {nb}',0,0,'R'); } } $pdf=new PDF('P','mm','A4'); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Times','',12); for($i=1;$i<=15;$i++) { $pdf->MultiCell(0, 5, 'Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. Ini adalah teks isi. '); $pdf->MultiCell(0,5,''); } $pdf->Output(); ?> Tampilan dari script di atas adalah sbb:
  • 18. 18
  • 19. 19 Membuat Teks Format Kolom Format kolom seringkali Anda jumpai dalam artikel ataupun surat kabar. Apabila Anda ingin membuat dokumen PDF berformat seperti itu dengan menggunakan PHP, jangan khawatir karena tutorial berikut ini akan menjelaskannya. Untuk membuat tampilan konten berformat kolom, Anda akan disibukkan dengan programming karena tidak ada function khusus untuk membuat kolom secara otomatis. Berikut ini adalah script untuk menampilkan konten berbentuk kolom yang sudah dimodifikasi dari aslinya. Kolom yang terbentuk dari script ini sejumlah 2 buah dengan lebar setiap kolom adalah 90 mm dan jarak antar kolomnya 10 mm. <?php require('fpdf.php'); // setting format kolom (satuan dalam mm) $lebarkolom = 90; $jarakantarkolom = 10; $jmlkolom = 2; class PDF extends FPDF { var $col=0; var $y=0; // menampilkan judul sebagai header function Header() { global $title; $this->SetFont('Arial','B',15); $w=$this->GetStringWidth($title)+6; $this->SetDrawColor(0,80,180); $this->SetFillColor(230,230,0); $this->SetTextColor(220,50,50); $this->SetLineWidth(1); $this->Cell($w,9,$title,1,1,'C',1); $this->y0=$this->GetY(); } function SetCol($col) { global $lebarkolom; global $jarakantarkolom; $this->col=$col; $x=10+$col*($lebarkolom + $jarakantarkolom);
  • 20. 20 $this->SetLeftMargin($x); $this->SetX($x); } function AcceptPageBreak() { global $jmlkolom; if($this->col<$jmlkolom-1) { $this->SetCol($this->col+1); $this->SetY($this->y0); return false; } else { $this->SetCol(0); return true; } } } $pdf=new PDF(); $title='Ini adalah bagian judul'; $pdf->SetTitle($title); $pdf->AddPage(); $pdf->SetFont('Times','',12); // menampilkan teks isi dengan jarak antar baris dalam paragraf 5 mm for ($i=1;$i<=20;$i++) { $pdf->MultiCell($lebarkolom,5,'Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. Ini merupakan paragraf isi dengan format kolom. '); // memberi jarak antar paragraf $pdf->Ln(); } $pdf->Output(); ?> Hasil tampilan dari script di atas adalah
  • 21. 21
  • 22. 22 Menyisipkan Image Dengan FPDF, sebuah image dapat disisipkan ke dalam dokumen PDF. Namun format image yang dapat disisipkan hanyalah JPEG dan PNG saja. Perintah yang digunakan untuk menyisipkan image adalah Image(), dan sintaksnya adalah sebagai berikut: Image(path file, x, y, w, h, format, 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. Titik koordinat (x, y) adalah titik pada pojok kiri atas image. Satuan dari x dan y tergantung satuan yang dipilih pada konstruktor FPDF().  Parameter w dan h bersifat optional digunakan untuk mengatur panjang dan lebar image dalam dokumen PDF  Parameter format digunakan untuk menentukan format image, apakah ‘JPG’, ‘JPEG’ atau ‘PNG’. Secara default, format image ditentukan oleh extension file imagenya.  Anda juga dapat menambahkan link pada image tsb. Link diletakkan pada parameter link. Contoh: <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->AddPage(); // menyisipkan image pada posisi 20 mm mendatar, 30 mm vertikal $pdf->Image('image/logo.png',20,30); $pdf->Output(); ?> Outputnya adalah:
  • 23. 23 Contoh: Berikut ini contoh image yang ada linknya <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->AddPage(); $pdf->Image('image/logo.png',20,30,40,30,'','http://www.fpdf.org'); $pdf->Output(); ?> Hasil tampilannya adalah:
  • 24. 24
  • 25. 25 Membuat Tabel Tabel erat kaitannya dengan representasi data. Hal ini dilakukan supaya data lebih enak dibaca dan mempercantik tampilan. Untuk membuat tabel dalam dokumen PDF menggunakan PHP, Anda akan sedikit melakukan programming. Dalam pembahasan ini, data yang disajikan dalam tabel berasal dari database MySQL. Sebagai contoh, terlebih dahulu kita siapkan database dan tabelnya. Berikut ini query untuk membuat tabel dan datanya. Nama DB : data CREATE TABLE `mhs` ( `NIM` varchar(5) NOT NULL, `NAMAMHS` varchar(20) NOT NULL, `ALAMAT` varchar(10) NOT NULL, PRIMARY KEY (`NIM`) ); insert into mhs values ('M0191', 'Rosihan Ari Y', 'Solo'), ('M0192', 'Dwi Amalia F', 'Kudus'), ('M0193', 'Faza Fauzan', 'Solo'), ('M0194', 'Nada Hasanah', 'Solo'); Pada contoh ini, kita akan membuat tabel yang akan menampilkan 4 data/record di atas dan terdiri dari 4 buah kolom (NO, NIM, NAMAMHS, ALAMAT). Kolom NO digunakan untuk menampilkan nomor urut 1, 2, 3, dst. Karena nomor tersebut tidak ada dalam field tabel, maka akan ada sedikit programming untuk keperluan tsb. Pada contoh pertama akan dibuat tabel biasa berbentuk sbb:
  • 26. 26 Untuk membuat tabel seperti di atas, sebenarnya kita hanya main-main dengan perintah Cell(), karena pada prinsipnya sebuah tabel tersusun dari banyak sel. Berikut ini adalah scriptnya; <?php require('fpdf.php'); class PDF extends FPDF { // membaca data dari database function LoadData() { $data=array(); mysql_connect("localhost","root","root"); mysql_select_db("data"); $query = "SELECT * FROM mhs"; $hasil = mysql_query($query); $i = 0; while ($fetchdata = mysql_fetch_row($hasil)) { $i++; // membuat counter 1, 2, 3, ... untuk ditampilkan $data[] = $fetchdata; } return $data; } // function untuk menampilkan tabel
  • 27. 27 function TabelBiasa($header,$data) { // setting lebar masing-masing kolom dalam mm $w=array(10,20,50,45); // membuat kepala tabel for($i=0;$i<count($header);$i++) { // memberi warna latar merah pada kepala tabel $this->SetFillColor(255, 0, 0); // setting huruf bold pada kepala tabel $this->SetFont('Arial','B',12); // parameter L menunjukkan teks rata kiri pada setiap // sel kepala tabel $this->Cell($w[$i],7,$header[$i],1,0,'L',1); } $this->Ln(); // menampilkan data // setting jenis font pada data tabel $this->SetFont('Arial','',12); foreach($data as $row) { for($i=0;$i<=sizeof($w)-1;$i++) $this->Cell($w[$i],6,$row[$i],1); } // penutup tabel $this->Cell(array_sum($w),0,'','T'); } } $pdf=new PDF(); // nama-nama kolom untuk kepala tabel $header=array('No','NIM','NAMA MAHASISWA','ALAMAT'); // memanggil function untuk baca data $data=$pdf->LoadData(); $pdf->AddPage(); // memanggil function untuk menampilkan tabel $pdf->TabelBiasa($header,$data); $pdf->Output(); ?> Pada contoh kedua, akan dibuat tampilan tabel yang sedikit lebih cantik dari sebelumnya yaitu ada pergantian warna setiap barisnya. Perhatikan tampilan tabel berikut ini:
  • 28. 28 Berikut ini adalah scriptnya: <?php require('fpdf.php'); class PDF extends FPDF { // membaca data dari database function LoadData() { $data=array(); mysql_connect("localhost","root","root"); mysql_select_db("data"); $query = "SELECT * FROM mhs"; $hasil = mysql_query($query); $i = 0; while ($fetchdata = mysql_fetch_row($hasil)) { $i++; // membuat counter 1, 2, 3, ... untuk ditampilkan array_unshift($fetchdata,$i); $data[] = $fetchdata; } return $data; } // function untuk menampilkan tabel
  • 29. 29 function TabelWarna($header,$data) { // setting lebar masing-masing kolom dalam mm $w=array(10,20,50,45); // membuat kepala tabel for($i=0;$i<count($header);$i++) { // memberi warna latar merah pada kepala tabel $this->SetFillColor(255, 0, 0); // setting huruf bold pada kepala tabel $this->SetFont('Arial','B',12); // parameter L menunjukkan teks rata kiri pada setiap } $this->Ln(); // menampilkan data // setting jenis font pada data tabel $this->SetFont('Arial','',12); $j = 0; foreach($data as $row) { // menampilkan perubahan warna latar putih dan biru muda // setiap ganti baris if ($j % 2 == 0) $this->SetFillCOlor(255,255,255); // setting warna putih else $this->SetFillCOlor(224,235,255); // setting warna biru muda // menampilkan data rata kiri for($i=0;$i<=sizeof($w)-1;$i++) $this->Cell($w[$i],6,$row[$i],1,0,'L',1); $this->Ln(); $j++; } // penutup tabel $this->Cell(array_sum($w),0,'','T'); } } $pdf=new PDF(); // nama-nama kolom untuk kepala tabel $header=array('No','NIM','NAMA MAHASISWA','ALAMAT'); // memanggil function untuk baca data $data=$pdf->LoadData(); $pdf->AddPage(); // memanggil function untuk menampilkan tabel $pdf->TabelWarna($header,$data); $pdf->Output(); ?>