Membuat file PDF dengan PHP.
Kebetulan ada temen yang bertanya cara membuat file PDF dengan PHP, jadi muncul lah ide untuk membuat tulisan ini.
Untuk membuat file PDF dengan PHP saya disini menggunakan Library FPDF, bisa didapatkan secara gratis di sini.
Pada contoh ini saya akan mencoba membuat PDF sesuai dengan apa yang diinput kan oleh user dalam sebuah form.
Langkah 1
Download FPDF, setelah itu extract di hosting anda, atau kalo mau mencoba di server local bisa di letakan di folder htdocs jika menggunakan XAMPP.
Langkah 2
Buat sebuah Form yang berisi (Nama, Subjek, Website, Komentar) save dengan nama form.html.
<html>
<head>
<title>Izul Cyber Cafe</title>
</head>
<body>
<form method="POST" action="pdf.php">
<h1>Izul Cyber Cafe : PDF</h1>
<form>
<table>
<tr>
<td>Nama</td> <td> : <input type="text" name="nama"></td>
</tr>
<tr>
<td>Subjek</td> <td> : <input type="text" name="subjek"></td>
</tr>
<tr>
<td>Website</td> <td> : <input type="text" name="website"></td>
</tr>
<tr>
<td>Pesan/Komentar</td> <td> : <textarea name="komentar" cols="35" rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Submit"><input type="reset" name="reset" value="Reset"></td>
</tr>
</table>
</form>
</body>
</html>Langkah 3
Lalu buat file php untuk memproses data yang di input agar menjadi PDF dengan nama pdf.php
<?php if (!empty($_POST['nama']) || !empty($_POST['subjek']) || !empty($_POST['website']) || !empty($_POST['komentar'])) { $nama=$_POST['nama']; $subjek=$_POST['subjek']; $website=$_POST['website']; $komentar=$_POST['komentar']; } else { echo "Data yang anda masukan belum lengkap!"; return 0; } define('FPDF_FONTPATH','fpdf/font/'); require('fpdf/fpdf.php'); class PDF extends FPDF { function Header() { $this->Image('logo.jpg',1.1,1.05,2.1); $this->SetFont('Arial','B',20); $this->Cell(19,1,'Data Komentar',1,0,'C'); $this->Ln(); } function Footer() { $this->SetY(-1.5); $this->SetFont('Arial','I',8); $this->Cell(0,1,'Halaman '.$this->PageNo().'/{nb}',0,0,'C'); } } $pdf=new PDF('P','cm','A4'); $pdf->Open(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Arial','B',24); $pdf->SetTextColor(220,50,50); $pdf->Ln(); $pdf->MultiCell(0,2,$subjek,0,'C'); $pdf->SetFont('Arial','B',12); $pdf->SetTextColor(0,0,0); $pdf->SetX(8.2); $pdf->Write(1,'Oleh: '); $pdf->SetFont('Arial','BIU',12); $pdf->Write(1,$nama,$website); $pdf->SetFont('Arial','B',12); $pdf->Ln(2); $pdf->MultiCell(0,1,$komentar); $pdf->Output(); ?>
Langkah 4
Taruh sebuah image dengan format png dengan nama logo.png, anda bisa mengubah nama file atau jenis file gambar dengan yang lain dengan merubah file pdf.php pada $this->Image(‘logo.jpg’,1.1,1.05,2.1); di HEADER
Langkah 5
Sekarang coba jalan kan file form.html, maka jika tombol submit di tekan akan menampilkan message box untuk mendownload file pdf.
Langkah 6
Selesai…..
Keterangan pada file PDF.php:
Melakukan pengecekan apakah data sudah diinput semua.
if (!empty($_POST['nama']) || !empty($_POST['subjek']) || !empty($_POST['website']) || !empty($_POST['komentar'])) { $nama=$_POST['nama']; $subjek=$_POST['subjek']; $website=$_POST['website']; $komentar=$_POST['komentar']; } else { echo "Data yang anda masukan belum lengkap!"; return 0; }
Membuat Header
function Header() { $this->Image('logo.jpg',1.1,1.05,2.1); $this->SetFont('Arial','B',20); $this->Cell(19,1,'Data Komentar',1,0,'C'); $this->Ln(); }
Yaitu untuk membuat tampilan header.
$this->Image(‘logo.jpg’,1.1,1.05,2.1); untuk meletakan gambar berada di 1,1 cm (X) dan 1.05 cm (Y) dan lebar gambar 2.1 cm.
$this->SetFont(‘Arial’,'B’,20); Untuk menentukan jenis Font, atribut(B=Tebal, I=Miring, U=Garis Bawah ) serta ukuran font.
$this->Cell(19,1,’Data Komentar’,1,0,’C'); untuk mecetak “Data Komentar” pada posisi di tengan ( C ), dan ketebalan garis(border=1).
$this->Ln(); untuk pindah baris.
Membuat Footer
function Footer() { $this->SetY(-1.5); $this->SetFont('Arial','I',8); $this->Cell(0,1,'Halaman '.$this->PageNo().'/{nb}',0,0,'C'); }
Keterangan :
$this->Cell(0,1,’Halaman ‘.$this->PageNo().’/{nb}’,0,0,’C'); Untuk membuat halaman, halaman akan tercetak akibat penulisan {nb}.
Mencetak Isi dokumen.
$pdf=new PDF('P','cm','A4'); Untuk mencetak file dengan format kertas A4, bisa diganti Letter. $pdf->Open(); $pdf->AliasNbPages(); Untuk memanggil fungsi pencetakan halaman. $pdf->AddPage(); $pdf->SetFont('Arial','B',24); $pdf->SetTextColor(220,50,50); Untuk mencetak Warna huruf dengan, bisa contek di photoshop untuk kode warna nya. $pdf->Ln(); untuk pindah baris $pdf->MultiCell(0,2,$subjek,0,'C'); Untuk mencetak teks yang lebih dari 1 baris. $pdf->SetFont('Arial','B',12); Untuk pengaturan Font ( Arial, Bold, ukuran 12 ) $pdf->SetTextColor(0,0,0); Merubah warna teks menjadi hitam (0,0,0 ) $pdf->SetX(8.2); Menentukan $pdf->Write(1,'Oleh: '); $pdf->SetFont('Arial','BIU',12); $pdf->Write(1,$nama,$website); Untuk mencetak variable nama disertai link sesuai inputan $pdf->SetFont('Arial','B',12); $pdf->Ln(1); $pdf->MultiCell(0,1,$komentar); Untuk mencetak Komentar. $pdf->Output(‘data.pdf’,true);
———————————————
DEMO
DOWNLOAD
Jika ada tambahan atau pertanyaan silahkan tulis komentar……..
Ref :
- http://www.fpdf.org/en/tutorial/index.php
- http://www.fpdf.org/en/doc/index.php









hehehe
manteb zul
dulu pernah nemu cuman lupa….
thanks, lagi butuh soalnya..
nice posting..
wuih,,, master izul beraksi lg… wew….
wah ini yang saya butuhkan,,makaci yaa
em,,,boleh ni dicoba,,
makaci yaa
wow,,,makaci infonya mas
mantab scriptnya… coba dulu
matur nuwun yee.. maju terus indonesia dengan ilmu
Wew.. Keren Banget Postingannya.. Kebetulah neh.. gw lagi ada tugas buat begituan… akhirnya ketemu juga.. Hehehehe..
Thanks
Maksih atas sharing ilmunya, coba dulu ahhhhh
trims tutorialnya.. coba duluuuuu
Leave your response!
Izul Cyber Cafe
Disini saya menulis hal-hal ringan tentang Teknologi Informasi, Tip&Trik komputer, Opini, dan Cerita kehidupan sehari - hari.
Languages
YM! Status.
Recent Posts
Visitors
Blogroll
Categories
Archives
Tags
Recent Comments
Most Commented
Most Viewed