Membuat Report dan Cetakan dengan mpdf – CodeIgniter

mpdf merupakan salah satu library yang dapat kita gunakan dalam membuat report atau cetakan-cetakan pada saat membangun aplikasi berbasis WEB. kali ini kita akan menerapkan hal tersebut, sekaligus mengetahui bagaimana membuat laporan dengan hasil berupa file PDF dengan codeIgniter.

 

 

 

 

 

  • Pertama, kita memerlukan library mPDF, bisa didownload disini.
  • kemudian extract dan tempatkan pada directory /system/library/mpdf
  • lakukan perubahan pada file /mpdf.php
if (!defined('_MPDF_PATH')) define('_MPDF_PATH', dirname(preg_replace('/\\/','/',__FILE__)) . '');
//menjadi
if (!defined('_MPDF_PATH')) define('_MPDF_PATH', dirname(preg_replace('/\\/','/',__FILE__)).'/');
  • buka kembali file yang sebelumnya, karena kita akan melemparkan nilai dari value yang berasal dari form ke laporan pdf tersebut.
  • tambahkan script ini pada bagian view,
<script type="text/javascript">
$(function() {
    $("#print_cetak").click(function(){
       var nis = $("#nis").val(); // diambil dari salah satu element form
       var x = window.open('cetakan/kartuanggota?nis='+nis, 'kartuanggota','toolbar=0,menubar=0,resizable=0');
    });
)};

<a class="ui-state-default ui-corner-all" id="print_cetak" href="javascript:void(0)"><span class="ui-icon ui-icon-print"></span>Simpan &amp; Cetak</a>
  • Buat 1 buah controller bernama cetakan, dengan tujuan controller ini dapat digunakan untuk cetakan-cetakan yang lain. tambahkah script berikut :
class cetakan extends CI_Controller {
    public function index(){}
    public function kartuanggota(){
        $nis = $_REQUEST['nis'];
        $this->load->library('parser');
        $this->load->library('session');
        $session = $this->session->userdata('module');
 $html = "<style type="text/css">
    body{
        font-family: tahoma;
        font-size: 1px;
    }
    h3{
        font-family: tahoma;
        font-size: 20px;
    }
    td{
        font-family: arial;
        font-size: 12px;
    }
    .title{
        font-family: arial;
        font-size: 10px;
    }
</style>
<table align="center" cellpadding="0" cellspacing="0" border="1" width="350px">
    <tr>
        <td width="100%">
            <table align="center" cellpadding="0" cellspacing="0" border="0" width="330">
                <tr>
                    <td>{foto}</td>
                    <td align="center" class="title">
                        <h3 class="" style="margin-top: 0px; margin-bottom: 0px;">KARTU ANGGOTA</h3>
                        SMA Negeri 10 <br/>
                        Jalan Cikutra No 77 Bandung 40291 <br/>
                        Telp. 02196021696
                    </td>
                </tr>
                <tr><td colspan="2"><hr/></td></tr>
                <tr>
                    <td colspan="2">
                        <table>
                            <tr><td>NIS</td><td>:</td><td>".$nis."</td></tr>
                            <tr><td>NAMA</td><td>:</td><td>{nama}</td></tr>
                            <tr><td>KELAS</td><td>:</td><td>{kelas}</td></tr>
                            <tr><td>TANGGAL DAFTAR</td><td>:</td><td>{tanggal daftar}</td></tr>
                            <tr><td>TANGGAL EXPIRED</td><td>:</td><td>{tanggal daftar}</td></tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>";

        /* ============================================= */

        $this->load->library('mpdf');
        $this->mpdf->WriteHTML($html);
        $this->mpdf->Output();

    }
}

karena membuat laporan menggunakan mPDF adalah dengan cara memasukan tag html/php kedalam variabel, maka kita dapat menyimpannya didalm controller. Dengan meletakan baris kode :

        $this->load->library('mpdf');
        $this->mpdf->WriteHTML($html);
        $this->mpdf->Output();

otomatis, cetakan akan keluar seperti gambar diatas.

Selamat mengkoding :D !!

Fork me on GitHub

Comments

comments

Powered by Facebook Comments