Wednesday, March 1, 2017

Membuat Laporan Pdf di PHP dengan MPDF

Membuat Laporan Pdf di PHP dengan MPDF

Assalamu alaikum Wr Wb.
Dalam pertemuan kali ini, saya akan membahas mengenai membuat laporan pdf di PHP dengn MPDF

Pengertian
MPDF adalah class PHP yang menghasilkan file PDF dari UTF-8 dikodekan HTML. Hal ini didasarkan pada FPDF dan HTML2FPDF, dengan sejumlah perangkat tambahan.

Latar Belakang
MPDF memudahkan kita untuk membuat laporan pdf di PHP.

Maksud dan Tujuan
Maksud saya membahas hal ini adalah agar lebih mudah dalam membuat laporan dengan format pdf di PHP dalam pembuatan aplikasi berbasis web.

Alat dan Bahan
1. PC / Laptop / Notebook
2. Text Editor (Sublime Text)
3. Web Browser (Mozilla Firefox)
4. File Mpdf.zip

Langkah-Langkah
Sebelum kita masuk ke langkahnya, saya akan membahas sedikit mengenai membuat laporan format pdf. Sebenarnya ada banyak cara untuk membuat laporan dengan format pdf, yang paling populer dengan menggunakan tools fpdf. Namun kali ini kita tidak akan membahas fpdf karena saya pikir terlalu rumit. Tapi dalam hal ini yang saya bahas adalah mpdf.
Sebelum membahas mpdf saya jelaskan bahwa membuat file pdf ada dua cara, yang pertama langsung membuat file pdf sesuai kriteria yang kita tentukan (seperti apabila kita menggunakan fpdf) dan yang kedua kita membuat file terlebih dahulu dengan format php + css biasa lalu output file tersebut kita export kedalam format pdf (menggunakan tools mpdf yang akan kita bahas)

1. Download file nya dahulu di situs http://www.mpdf1.com/mpdf/index.php

2. Kemudian ekstrak file tadi dan letakkan di dalam directory /var/www/html atau /htdocs.

3. Buat folder baru dan beri nama sesuai keinginan letakkan di directory /htdocs ataupun /var/www/html.

4. Buka text editor, dan buat file baru dengan nama index.php dan embed script ini.
<?php
// Tentukan path yang tepat ke mPDF
$nama_dokumen='PDF'; //Beri nama file PDF hasil.
define('_MPDF_PATH','mpdf/'); // Tentukan folder dimana anda menyimpan folder mpdf
include(_MPDF_PATH . "mpdf.php"); // Arahkan ke file mpdf.php didalam folder mpdf
$mpdf=new mPDF('utf-8', 'A4', 10.5, 'arial'); // Membuat file mpdf baru

//Memulai proses untuk menyimpan variabel php dan html
ob_start();

?>

5. Sekarang anda bisa memasukkan kode php maupun html seperti biasa. Anda juga dapat memasukkan kode css layaknya coding seperti biasa.

6. Setelah selesai coding untuk menampilkan output, langkah selanjutnya adalah menutup sekaligus generate file anda kedalam format pdf.
<?php
$html = ob_get_contents(); //Proses untuk mengambil hasil dari OB..
ob_end_clean();
//Disini dimulai proses convert UTF-8, kalau ingin ISO-8859-1 cukup dengan mengganti $mpdf->WriteHTML($html);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($nama_dokumen.".pdf" ,'I');
exit;
?>

Untuk script lengkapnya bisa dilihat disini.
<?php
include'../connection.php';
include 'proses-list-pengembalian.php';
//memulai menggunakan mpdf
// Tentukan path yang tepat ke mPDF
$nama_dokumen='PDF'; //Beri nama file PDF hasil.
define('_MPDF_PATH','mpdf60/'); // Tentukan folder dimana anda menyimpan folder mpdf
include(_MPDF_PATH . "mpdf.php"); // Arahkan ke file mpdf.php didalam folder mpdf
$mpdf=new mPDF('utf-8','A4', 20, 'Digital Sans'); // Membuat file mpdf baru

//Memulai proses untuk menyimpan variabel php dan html
ob_start();

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Laporan Pengembalian</title>
    <link rel="stylesheet" href="../css/style.css">
</head>
<body>
            <h1 align="center">Laporan Pengembalian</h1>
            <?php if (empty($data_kembali)) : ?>
            Tidak ada data.
            <?php else : ?>

            <table class="data" width="99%">
                <tr>
                    <th>Buku</th>
                    <th>Nama</th>
                    <th>Tgl Pinjam</th>
                    <th>Tgl Jatuh Tempo</th>
                    <th>Tgl Kembali</th>
                </tr>

                <?php foreach ($data_kembali as $kembali) : ?>
                <tr>
                    <td><?php echo $kembali['buku_judul'] ?></td>
                    <td><?php echo $kembali['anggota_nama'] ?></td>
                    <td><?php echo $kembali['tgl_pinjam'] ?></td>
                    <td><?php echo $kembali['tgl_jatuh_tempo'] ?></td>
                    <td><?php echo $kembali['tgl_kembali'] ?></td>
                </tr>
                <?php endforeach ?>

            </table>
            <?php endif ?><br>
            <?= 'Tanggal:'. date('d M Y'); ?>
</body>
</html>
<?php
//penulisan output selesai, sekarang menutup mpdf dan generate kedalam format pdf

$html = ob_get_contents(); //Proses untuk mengambil hasil dari OB..
ob_end_clean();
//Disini dimulai proses convert UTF-8, kalau ingin ISO-8859-1 cukup dengan mengganti $mpdf->WriteHTML($html);
$mpdf->SetDisplayMode('fullpage');
$mpdf->list_indent_first_level = 0;
$stylesheet = file_get_contents('mpdf60/mpdfstyletables.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($nama_dokumen.".pdf" ,'I');
exit;
?>

7. Jika di buka di browser maka akan muncul tampilan seperti ini.

akan tergenerate file pdf.


Referensi
http://www.mpdf1.com/mpdf/index.php
http://harviacode.com/2014/10/22/membuat-laporan-pdf-dengan-mpdf/

Saya kira cukup mudah untuk menggunakan mpdf ini karena untuk customize output kita tidak perlu repot mengedit langsung ke dalam output pdf melainkan kita cukup coding menggunakan php dan html ditambah css seperlunya seperti biasa.

Sekian yang dapat saya paparkan, apabila ada kesalahan dalam pengetikan, tata letak, dll saya minta maaf .

Semoga Bermanfaat.

Terima kasih atas kunjungannya ......

Wassalamu alaikum Wr Wb.

No comments:

Post a Comment