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

Pihak Terkait

Iklan Premium
cincin sepasangJual Cincin Perak
Cincin yang sangat indah ini cocok untuk dipakai oleh pasangan suami istri atau pasangan yang baru tunangan
Harga Rp350.000
Beli Sekarang.

28 Responses to “Membuat File PDF dengan PHP dan FPDF”

  1. 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….

    [Reply]

  2. makasih mas backlinknya, tar aku taruh link balik

    [Reply]

  3. thank’s

    [Reply]

  4. [...] Mudah kan? sedang untuk menuliskan string pada dokumen PDF bisa dilihat disini [...]

  5. OK thank’s mas bim, kok nda pernah OL

    [Reply]

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

    tetep semangat menulis yah :)
    ditunggu tulisan yg lainnya

    :)

    [Reply]

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

    [Reply]

  8. 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

    [Reply]

  9. 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??

    [Reply]

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

    [Reply]

  11. km download aja di fpdf.org

    [Reply]

  12. 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!

    [Reply]

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

    [Reply]

  14. Makasih banget coz informasi ini sangat membantu saya…
    mw nanya kalo terdapat warning seperti di bawah ini knp ya??? mohon solusinya…..

    Warning: FPDF::include(helveticab.php) [function.FPDF-include]: failed to open stream: No such file or directory in C:\AppServ\www\phpMyAdmin\libraries\fpdf\fpdf.php on line 507

    Warning: FPDF::include() [function.include]: Failed opening ‘helveticab.php’ for inclusion (include_path=’.;C:\php5\pear’) in C:\AppServ\www\phpMyAdmin\libraries\fpdf\fpdf.php on line 507
    FPDF error: Could not include font metric file

    [Reply]

    Bimo Hery Prabowo Reply:

    @ofie
    itu error karena path folder font nya blm ketemu

    [Reply]

  15. mas,saya mw tanya!!
    klo mw nampilin data yg datanya dari database tapi secara satu-satu buat nmpilinya!gmn ya mas!!
    dah coba tp gk nampil,mlh nmpilnya slrh data!!

    [Reply]

  16. mas, mau nanya ???
    gimana carax membatasi jumlah tampilan per halaman di fpdf.
    misalnya : hlaman 1 cuma nampilin 20 baris saja, kemudian baris ke 21 di halaman berikutx.

    [Reply]

  17. wah hebat. aku pakai y ilmu ini,
    terimakasih…

    [Reply]

  18. Artikel mencetak pdf dari mysql sangat membantu. Searching di website lain malah jadi bingung n ribet. Akhirnya ketemu di website ini. Script berjalan lancar !!!
    Two thumbs up

    [Reply]

  19. Mas YM mas apa ?? biar saya bisa nanya. saya disuruh membuat Form Report yang bisa di print beserta ada berkasnya. Itu menggunakan pdf. Tolong bantuannya ya mas. Balas ke email saya atau ke website saya. Terima kasih mas.

    [Reply]

  20. mas prabowo yg baik, saya mau tanya. bagaimana cara instalasi FPDF di drupal? saya menggunakan MAMP dg Mac OS X. dimanakah saya harus meletakkan file fpdf nya? terima kasih banyak atas bantuannya.

    [Reply]

  21. makasi atas infonya………

    [Reply]

  22. Mas bimo, bisa tolong bantu, gimana caranya nampilin ke file pdf dari database tapi ada juga gambarnya. mirip artikel-artikel bola gitu mas. tolong ya. soalnya sy ada tugas itu. tolong referensinya dikirim ke sonnyjermain@yahoo.com

    [Reply]

  23. mas, saya mau tanya, kalo membuat ling ke pdf gimana carnya. Contoh : Artikel selengknya.. jika kita klik selengkapnya maka semua gambar dan data artikel muncul di Pdf..

    [Reply]

  24. halo all,
    ada yang pernah buat contoh invoice dengan fpdf..?
    kalau ada tolong share di sini scriptnya yah…
    thanks

    [Reply]

  25. maaf saya boleh ikutan nanya…. kalau membuat gari di fpdf sintaknya gimana yah…

    [Reply]

  26. mas aku kok muncul error seperti ini ya
    Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\inventory\index.php:11) in C:\xampp\php\PEAR\fpdf\fpdf.php on line 1022
    FPDF error: Some data has already been output to browser, can’t send PDF file

    itu salah apanya mas?

    [Reply]

  27. Mas terima kasih artikelnya berguna banget, tapi bagaimana cara untuk membuat tabel dengan php

    [Reply]

Leave a Reply