February 7, 2008 at 2:01 pm

Membuat File PDF dengan PHP dan FPDF

Tutorial PHP-PDF, FPDFArtikel ini bermula ketika saya sedang menyeleseaikan skripsi. Kebetulan waktu ini topik yang saya bahas menyangkut dengan pdf, khususnya membuat output dari sebuah teks dalam bentuk pdf. User bisa mendownlaod pdf ini, sebagai catatan, file pdf dibuat secara on the fly, artinya biar php sendiri yang membuat pdf.

Saya menggunakan modul fpdf, tidak menggunakan modul standar dari php dikarenakan sulit untuk digunakan, telebih ketika server di internet tidak mendukung modul ini, bisa-bisa aplikasi anda menjadi kacau, terlebih fitur membuat pdf ini adalah fitur utama. karena itu juga PHPmyAdmin juga menggunakan modul ini.

Tidak usah basa-bagi lagi, masalah sudah didepan mata. Kita selesaikan. Are you ready?

  1. seperti biasa, berdoa dulu
  2. download modul fpdf di www.fpdf.org. disana sudah ada tutorial penggunaan modul ini dari yang paling mudah sampai sukar. Ketika anda mendownload, otomatis anda akan mendapatkan manual dari modul tersebut. Modul ini berupa class, anda harus membuat object dari class ini, setelah object terbentuk anda bisa menggunakan semua methodnya.
  3. terkait dengan class dan object, anda paling tidak pernah belajar OOP (object Oriented Programming). Saya rasa ini adalah kemampuan dasar yang tidak bisa ditawar untuk mempelajari pemrograman modern. Wong kode HTML nya blogger aja sudah menggunakan OOP.
  4. setelah anda mendapatkan file kompresi dari fpdf, extract pada direktori server anda, nama direktorinya biasanya fpdf.
  5. buat sebuah file php dalam direktori utama tadi misal fpdf/file_php_anda.php. file ini yang akan membuat pdf dengan memanfaatkan modul fpdf.

Sebagai contoh, ini adalah isi dari file php tersebut.

<?php
require_once(”fpdf.php”);
$pdf=new FPDF();
$pdf->AddPage();
$pdf->setAuthor(”BimoWeb.com”);
$pdf->SetFont(’Arial’,'B’,16);
$pdf->Write(20,’Saya sedang belajar PHP-PDF’);

$pdf->Output();
?>

file php diatas akan mencetak string ‘Saya sedang belajar PHP-PDF’ dalam format pdf. Jangan memberikan output ke browser misalkan dengan perintah echo ”bla-bla” sebelum perintah Output() di berikan, akan menyebabkan eror karena modul php ini bersifat seperti session atau cookie.

Yang wajib anda ketahui dan setting adalah

  1. require_once atau include yang mengarah pada modul fpdf.php
  2. membuat object dengan cara $pengenal=new FPDF();
  3. tentukan font yang akan anda gunakan dengan cara setFont(’Nama_font’,’Style_font’,ukuran). Style font berupa B untuk bold, I untuk miring dan kosong untuk normal. Parameter ukuran dalam bilangan.
  4. Minimal file pdf anda harus memiliki 1 page, caranya dengan AddPage()
  5. Gunakan Output() untuk mengirimkan keluaran dalam bentuk pdf ke browser.


Saya ingin data yang ditampilkan berasal dari database, bagimana tuh?
Take action now

<?php
require_once(”fpdf.php”);
$pdf=new FPDF();
$pdf->AddPage();
$pdf->setFont(”Helvetica”,”",12);
mysql_connect(”localhost”,”root”,”rahasia.com”);
mysql_select_db(”nama_database_ku”);
$cmd=”select isi,judul from nama_tabel_ku”;
$exe=mysql_query($cmd);
$i=1;
while ($data=mysql_fetch_array($exe)){
$pdf->write(10,$i);
$pdf->write(10,$data["judul"]);
$pdf->ln(10);
$pdf->write(10,$data["isi"]);
$i+=1;
}
$pdf->Output();
?>

Jika outputnya panjang dan bisa melebihi 1 halaman, maka fpdf otomatis akan membuat halaman tambahan, anda tidak perlu menambahkan AddPage().

Untuk selengkapnya anda bisa melihat pada manualnya. Jika memiliki kesulitan dengan artikel ini atau modul fpdf, bisa menghubungi saya melalui Y. M atau no 085643572158. Kalau bisa ya saya jawab, kalau tidak ntar aku lempar ke forum. He he J

Related Post

RSS feed | Trackback URI

18 Comments »

Comment by Ecko
2008-02-07 23:28:37

Hai, thanks ya udah mampir. Maaf sebelumnya kalo komennya gak nyambung. Soalnya nyari2 shoutbox ga ada padahal cuma mau say hello aja. Thanks sekali lagi udah mampir. Sbg ungkapan terima kasih, blog ini sudah saya link. Thanks lagi….

 
Comment by doez
2008-04-12 22:49:12

thank’s

 
Comment by doez
2008-04-25 06:55:21

OK thank’s mas bim, kok nda pernah OL

 
Comment by adam
2008-05-07 04:24:56

mas bimo, makasih ya ilmunya
bermanfaat sekali buat kami2 yg pengen belajar :)

tetep semangat menulis yah :)
ditunggu tulisan yg lainnya

:)

 
Comment by muhibbuddin
2008-08-03 15:36:05

bisa gak dijadiin plugin buat wordpress :) entar tak kasih link deh :)

 
Comment by Ade Muhammad Ridwan
2008-08-14 22:37:48

Mas bimo , terima kasih tulisan nya, tapi saya mau nanya…..
klo mau nampilin yang ini ke pdf gmn ? source nya di bawah….

<?
$mykunci = $_POST['kunci_pencarian'];
$hsl = $_POST['but_cari'];

if (isset($hsl)) {
if ( (!empty($mykunci))) {
$mykunci = strtoupper($mykunci);
$mykunci = strip_tags($mykunci);
$mykunci = trim ($mykunci);
$query=”SELECT * FROM table_batuan “;
$result = mysql_db_query(”geology”, $query);
if ($result) {
echo ”

Kode Batuan

Nama Batuan

“;

while ($r = mysql_fetch_array($result)) {
echo ”

$r[KodeBatuan]

$r[NamaBatuan]

“;
}
}
}
}
echo “”;
?>

Itu klo di browser tampilan sekumpulan data dari databases.
saya pengen bisa tampilin ke pdf beserta table-table nya yang dari html. Trus cara merubah ukuran kertas di pdf pengen jadi A3 landscape gmn? tolong bantuan nya… saya newbie di bidang fpdf ini.. tolong ya mas bimo…. terima kasih

 
Comment by andhiequest
2008-09-19 04:50:15

Mas Bimo…..
Kalo ngasih jarak antara field pake apa?
krn saling berdempetan

AddPage();
$pdf->setFont(”Helvetica”,”",12);
@mssql_connect(”MOSS\MOSS”,”ePa”,”P@ssw0rd#1″);
@mssql_select_db(”HRD_CABUL”);
$cmd=”select TOP 20nik,fullname,spv_name from PE_MASTER”;
$exe=@mssql_query($cmd);
$i=1;
if($exe){
while ($data=@mssql_fetch_array($exe)){
$pdf->write(10,$i);
$pdf->write(10,$data["nik"]);
$pdf->write(10,$data["fullname"]);
$pdf->write(10,$data["spv_name"]);
$pdf->ln(5);
$i+=1;
}
}
$pdf->Output();
?>

hasil’y
10001andhiebos1
20002jakabos2

monya
1 0001 andhie bos1
2 0002 jaka bos2

kalo saya
$pdf->write(10,$i);
$pdf->write(10,’ ‘);
$pdf->write(10,$data["nik"]);
$pdf->write(10,’ ‘);
$pdf->write(10,$data["fullname"]);
$pdf->write(10,’ ‘);
$pdf->write(10,$data["spv_name"]);

tapi engk rapih??

 
Comment by Mito
2008-12-03 17:16:30

Mau nanya dong, cara dapetin file fpdf.php itu gmn y??

 
Comment by Bimo Hery Prabowo
2008-12-04 01:44:56

km download aja di fpdf.org

 
Comment by irwan
2009-01-15 16:50:22

nahh ni dia nih. artikelnya mantab mas. kebetulan saya juga lagi nyari cara buat bikin file pdf dari php. buat skripsi nih.

makasi banyak mas bimo, semangat!

 
Comment by ferryardhana
2009-01-19 19:21:15

mas bim,, thanx artikelnya ya.. lagi butuh nie.. hehehe

 
Comment by AntiVirus
2009-05-02 00:50:36

Kang. . .tanya neh. . . selain php to pdf. . bisa bantu tuk php to excel dan word. . .Thanks y

 
Comment by Beny
2009-05-25 04:54:24

mas bimo…leh minta tolong bantuan na ga …
saya programmer awam…
saya leh di kasi tau koding untuk printing dokumen and send email ga dgn php..THX bgt n tlng di krm k email y….^^

 
Comment by pranajaya
2009-05-25 09:51:57

mas, tolong donk script & penjelasan utk bikin header, footer di fpdf, sekalian cara ‘masang’nya…:)
terimakasih sebelumnya…

 
Comment by pranajaya
2009-05-25 09:57:48

mas, balik lagi nih
saya punya form kayak gini nih:

Jenis Kegiatan
Rutin
TroubleShooting
Order

Mohon bantuannya, seandainya di-check lebih dari satu, bagaimana supaya value-nya bisa muncul dalam satu kolom/field di mysql-nya.
Terimakasih…

 
Comment by santenkelapa
2009-05-31 09:00:26

mas bisa ga ukuran pdf nya dikecilin dijadiin buat struk belanjaan gitu ,,??
tolong ya mas..
makasih ya mas bimo ….

 
Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped=""> in your comment.

Trackback responses to this post