Cara Membuat Laporan PDF PHP

By , March 27, 2015,

Cara Membuat Laporan pdf di php. Kemarin sempat bingung cara buat laporan dengan php itu gimana. Terus cari-cari dan nemu fungsi dan class yang dikembangkan oleh Wayne Munro tentang bagaimana buat laporan pdf menggunakan bahasa pemrograman php. Bisasanya sebuah laporan seperti ini digunakan pada rekap dan rekapitulasi pada sebuah sistem, Baik sistem manejemen maupun laporan sistem informasi. Laporan tersebut berfungsi untuk meakukan evaluasi pada sistem berdasarkan laporan yang dihasilkan per periode tertentu.

Tutorial cara menampilkan data dari database kedalam format pdf cukup mudah. Yang perlu Anda lakukan adalah memanggil fungsi dan class yang sudah terdapat pada folder yang akan saya Share nanti. Contoh laporan format pdf dengan php ini Saya ambil dari contoh projek sistem informasi iklan yang pernah Saya buat. Source code nya sudah Saya sertakan pada file yang akan share disini tinggal download saja. Script PHP laporan pdf hanya perlu di edit sedikit saja dan tinggal disesuaikan dengan isi dari database phpmysql Anda dan pilih tabel yang akan di tampilkan sebagai laporan.

Artikel ini mungkin terkait dengan cara membuat laporan pdf php mysql, menggunakan fpdf, dengan dreamweaver, dengan yii, dengan codeigniter, atau juga menggunakan fungsi kombinasi javascript html2pdf, namun yang Saya buat adalah menampilkan laporan bermormat pdf dengan berdasarkan kondisi tertentu. Dalam Hal kondisi yang saya gunakan adalah tanggal Dan sehingga dengan cara ini, laporan yang terbuat akan secara otomatis terbantuk berdasarkan kondisi yang kita tentukan.

Baiklah, lanjut lagi.. Untuk diketahui contoh yang digunakan pada tutorial ini adalah menampilkan laporan pemasangan iklan pada sistem informasi iklan, seperti yang sudah Saya sebutkan diatas.

Cara Membuat Laporan PDF PHP

OK. Sebelumnya pada folder laporan ini akan berisi file yaitu:

  1. lap_pemasangan.php, file ini merupakan file yang berguna untuk memberikan kondisi yang akan Anda gunakan untuk menampilkan laporan pdf.
  2. rekap_pemasangan.php, file ini adalah proses eksekusi dari kondisi yang diberikan pada file no 1 diatas.
  3. folder pdf, berisi fungsi pdf yaitu : class.pdf.php, class.ezpdf.php dan folder font atau tulisan. pada folder ini tidak perlu di oprek atau biarkan saja, tapi kalau mau di pelajari juga silahkan.

Tutorial laporan pdf dengan php

Setelah file diatas sudah Anda download silahkan masukkan ke folder server komputer Anda. Pada komputer saya server yang saya gunakan Adalah xamp berarti letaknya di folder htdoc, untuk server wamp, dan yang lain silahkan sesuaikan.

Berikut langkah-langkah membuat laporan pdf dengan simpel dan cepat:

  1. Buat database pada server Anda dengan nama sipi ( boleh diganti dengan nama sendiri dan sesuaikan dengan koneksi database).
  2. Import tabel yang sudah saya sertakan kedalam database mysql yang sudah terbuat, pada file ini tabel yang Saya gunakan namanya adalah pasang.
  3. Setelah selesai silahkan Anda akses folder root pada file laporan yang sudah Anda buat tadi. Selesai.

Tampilan database dan tabel yang dibuat:

Tampilan tabel dan database yang dibuat

Tampilan tabel dan database yang dibuat

Script dan source code laporan pdf php

1. lap_pemasangan.php

[php]
<?php
echo ‘
<h3>Rekap Data Pemasangan Iklan</h3>
<fieldset>
<form name="login" action="rekap_pemasangan.php" method="POST">
<div class="control-group">
<b>Dari :</b><br/>
<input type="date" name="dari" class="required">
</label>
<label><br/><b>Sampai :</b><br/>
<input type="date" name="sampai" class="required">
</label>
<label><p>
<button type="submit" >Proses</button>
<button type="button" onclick="self.history.back()">Batal</button></p>
</label>
</div>
</form>
</fieldset>
‘;
?>[/php]

Akan menampilkan seperti ini

Tampilan kondisi laporan pdf php

Tampilan kondisi laporan pdf php

2. rekap_pemasangan.php

[php]
<?php

include "pdf/class.ezpdf.php"; //class ezpdf yg di panggil
$pdf = new Cezpdf();

//Set margin dan font
$pdf->ezSetCmMargins(3, 3, 3, 3);
$pdf->selectFont(‘pdf/fonts/Courier.afm’);

//Tampilkan gambar di dokumen PDF
$pdf->addJpegFromFile(‘sipi.jpg’,31,778,90);

//Teks di tengah atas untuk judul header
$pdf->addText(140, 800, 16,'<b>REKAPITULASI PEMASANGAN IKLAN</b>’);
$pdf->addText(125, 780, 14,'<b>PT.SISTEMPHP.COM (Jl.Soebrantas km.16)</b>’);

//Garis atas untuk header
$pdf->line(31, 770, 565, 770);

//Garis bawah untuk footer
$pdf->line(31, 50, 565, 50);

//Teks kiri bawah
$pdf->addText(410,34,8,’Dicetak tgl:’ . date( ‘d-m-Y, H:i:s’));

// Baca input tanggal yang dikirimkan user
$dari = date_format(date_create($_POST[dari]), ‘Y-m-d’);
$sampai = date_format(date_create($_POST[sampai]), ‘Y-m-d’);
//echo "$mulai $selesai";exit;

//Menampilkan isi dari database
//Koneksi ke database dan tampilkan datanya
mysql_connect("localhost", "root", "");
mysql_select_db("sipi");

$tampil = "SELECT a.id_pasang, a.judul_iklan, a.isi_iklan, a.awal, a.akhir, b.kategori, c.tipe, c.harga, d.nama FROM pasang a, kategori b, iklan c, user d WHERE
awal between ‘$dari’ and ‘$sampai’ AND a.id_kategori = b.id_kategori and a.id_iklan = c.id_iklan and a.id_user = d.id_user ORDER BY a.id_pasang DESC
";
//echo $tampil;exit;
$sql = mysql_query($tampil);

//Menghitung jumlah data pada database
$jml = mysql_num_rows($sql);
//echo $jml;exit;
if ($jml > 0){

$i = 1;
while($r = mysql_fetch_array($sql)) {

//Format Menampilkan data di ezPdf
$data[$i]=array(‘No’=>$i,
‘Judul’=>"$r[judul_iklan]",
‘Kategori’=>"$r[kategori]",
‘Tipe’=>"$r[tipe]",
‘Pemasang’=>"$r[nama]",
‘Tgl. Pasang’=>"$r[awal]",
‘Tgl. Berakhir’=>"$r[akhir]",
‘Harga’=>’Rp. ‘.number_format(($r[harga]),0,’,’,’.’)
);
$i++;

}

//Tampilkan Dalam Bentuk Table
$pdf->ezTable($data);

$pdf->ezText("\nPeriode: $dari s/d $sampai");

// Penomoran halaman
$pdf->ezStartPageNumbers(564, 20, 8);
$pdf->ezStream();
}

else{

echo "
<script>
alert(‘Tidak Ada Pemasangan Iklan’);
window.location=\"../../?modul=laporan&aksi=cetak\";
</script>
";

}

?>[/php]

Dari eksekusi yang dilakukan maka hasil dari laporan yang ditampilkan adalah sebagai berikut:

Hasil laporan pdf

Hasil laporan pdf

Cara membuat laporan pdf php ini saya beri kondisi jika data pada tabel database tidak tersedia sesuai dengan tanggal dan waktu yang dipilih, maka sistem akan memberikan informasi bahwa laporan yang dimaksud tidak tersedia.

Pada scrip diatas saya menggabungkan beberapa tabel dan menampilankan menjadi laporan. Seperti yang terdapat pada scrip rekap_pemasangan.php line 36, dan script untuk menampilkan isi tabel databasenya terdapat pada line 51.

Download script

Postingan berikutnya

  1. source code cetak laporan dengan php
  2. script php cetak laporan pdf
  3. membuat laporan pdf php berdasarkan kondisi
  4. membuat laporan dengan fpdf php
  5. contoh laporan pdf
  6. membuat laporan berdasarkan tanggal dengan php
  7. cara membuat laporan pdf dengan php
  8. penggunaan sum di pdf php
  9. membuat laporan pdf codeigniter
  10. membuat laporan dengan dreamweaver
  11. memasukkan logo kop surat di php
  12. laporan perbulan di pdf php
  13. Laporan penjualan php berdasarkan tanggal
  14. laporan bulanan pdf php
  15. cara menambahkan pdf harian mingguan dan bulanan di php

37 thoughts on “Cara Membuat Laporan PDF PHP

    1. admin Post author

      Tanggalnya sudah di cek mas pemilihannya.. Pada form yang ada sesuaikan pemilihan tanggal dengan tanggal yang ada di database.

      1. idham

        masih g bsa,,jawabanya data tidak pemansangan,,,mnt emailny dunk,,,,
        ntr q krmn screenshootny,,
        frmt ipnpt tglny 03/25/2015,,,bnr g

  1. salihin untar

    Saya lihat Oke Juga , hanya saja sy coba memakai
    $pdf->addJpegFromFile(‘sipi.jpg’,31,778,90); kok ngak jalan yah.
    Salah dimana

    Koding saya adalah :

    $pdf = new FPDF(‘L’,’cm’,’Legal’);
    $pdf->AddPage();
    $pdf->SetFont(‘Helvetica’,”,14);

    $pdf->addJpegFromFile(‘sipi.jpg’,31,778,90);

    $pdf->Write(0.5, nama_perusahaan);$pdf->Ln();
    $pdf->SetFontSize(10);

    $pdf->Write(0.5, ‘SALES QUOTATION’);$pdf->Ln();
    $pdf->Write(0.5, alamat_perusahaan);$pdf->Ln();

    $pdf->Ln();
    $pdf->SetFont(‘Helvetica’,’B’,12);
    $pdf->cell(1,2, ‘No.’,1,0,’C’);
    $pdf->cell(12.5,2, ‘Item Description’,1,0,C);
    $pdf->cell(3,2, ‘Qty’,1,0,C);
    $pdf->cell(3,2, ‘Unit Price’,1,0,C);
    $pdf->cell(3,2, ‘Disc %’,1,0,C);
    $pdf->cell(3,2, ‘Tax’,1,0,C);
    $pdf->cell(3,2, ‘Amount’,1,0,C);

    $pdf->Ln();

    1. admin Post author

      Beda mas, fungsi yang di pakai Bukan FPDF tapi berbeda lagi. Makanya kalau pakai FPDF jadi tidak sesuai fungsinya. Untuk lebih lengkapnya Script sudah saya sertakan di file download.

        1. admin Post author

          Untuk pemasangan iklan bisa di modifikasi mas, Untuk laporan penyesuaian dengan pemanggilan field database saja.

  2. mance

    Tidak ada pemasangan iklan mas…
    Kira2 apanya yang salah ya mas padahal udah diinput databasenya
    Errornya kaya gini :

    Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\class.pdf.php on line 2856

    Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\class.pdf.php on line 285

    Notice: Use of undefined constant dari – assumed ‘dari’ in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 28

    Notice: Use of undefined constant sampai – assumed ‘sampai’ in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 29

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\laporanpdf\rekap_pemasangan.php on line 44

    1. admin Post author

      COba di isi mbak. yang untuk iklannya dari phpmyadmin.. JIka tetap error keungkinan versi server yang mbak gunakan tipenya beda.

  3. anonim

    paling enak.. coba pakek pdf HTML2PDF tinggal convert file HTML ke PDF…

    untuk yang format tanggal biasanya secara default date time (yyyy-MM-dd) coba diconvert pakek fungsi
    function balikTanggal($tgl_awal){
    if($tgl_awal == “”){
    return $tgl_awal;
    }
    else{
    $tgl2 = explode(“-“,$tgl_awal);
    if(count($tgl2) >= 3)
    {
    return $tgl2[2].”-“.$tgl2[1].”-“.$tgl2[0];
    }
    else{
    return $tgl_awal;
    }
    }
    }
    function balikTanggal1($tgl_akhir){
    if($tgl_akhir == “”){
    return $tgl_akhir;
    }
    else{
    $tgl2 = explode(“-“,$tgl_akhir);
    if(count($tgl2) >= 3)
    {
    return $tgl2[2].”-“.$tgl2[1].”-“.$tgl2[0];
    }
    else{
    return $tgl_akhir;
    }
    }
    }
    $tgl_awal=balikTanggal($_POST[‘tgl_awal’]);
    $tgl_akhir=balikTanggal($_POST[‘tgl_akhir’]);

    semoga bisa membantu ^_^

    1. admin Post author

      Untuk membuat totalnya bisa menggunakan sum(nama_tabel) as total melalui query database mbak. atau Jika ingin melalui script phpnya dapat menggunakan fungsi array_sum($nilai) dan sebagainya.

    1. admin Post author

      Untul laporannya tidak pakai edit mas @reski iswanto daulaay. soalnya langsung di generate melalui tabel database dengan ketentuan laporan yang di inginkan. misalnya pertanggal, per data atau lainya. Dan untuk edit yang di maksud seperti apa ya mas, mana tau bisa saya bantu?

Leave a Reply