Tutorial PHP PDF, Cara Generate PDF menggunakan PHP dan WKHTMLTOPDF

Tutorial PHP PDF – Membuat pdf dengan berbagai tujuan pada aplikasi menjadi suatu fitur yang lumrah dan sering ada saat ini, tidak terkecuali dengan menggunakan php. Pada kesempatan kali ini kita akan mencoba membuat pdf menggunakan php dengan memanfaatkan tools bernama wkhtmltopdf (https://wkhtmltopdf.org/).

BACA JUGA : Tutorial Monitoring SQL Server Errors

Pendahuluan

Secara garis besar tools ini bekerja dengan me-render sebuah halaman atau tampilan pada website lalu diubah ke dalam bentuk PDF. Jadi sebelum menggunakan wkhtmltopdf kita harus membuat terlebih dahulu tampilan website yang nantinya akan kita render ke dalam bentuk PDF.

Silahkan download wkthml pada halaman berikut ini :
https://wkhtmltopdf.org/downloads.html

Tutorial Membuat PDF dengan PHP WKHTMLTOPDF

WKHTMLTOPDF sendiri adalah sebuah tools berbasis command line, jadi untuk dapat menggunakannya kita akan memanfaatkan fungsi exec() yang ada pada php. Exec() sendiri adalah sebuah fungsi yang digunakan untuk men-eksekusi program eksternal (https://www.php.net/manual/en/function.exec.php).

Untuk menggunakan wkhtmltopdf sendiri, command-nya cukup sederhana (wkhtmltopdf url-website nama-file.pdf), contohnya :

wkhtmltopdf http://google.com google.pdf

Pertama kita akan membuat tampilan dari pdf yang akan kita generate terlebih dahulu, silahkan buat satu buah file dengan nama pdf.php, isi dari file tersebut kurang lebih seperti ini :

<!DOCTYPE html>
<html>
<head>
<style>
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}
</style>
</head>
<body>

<h2>HTML Table</h2>

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>

</body>
</html>

Selanjutnya silahkan akses halaman tersebut, kurang lebih seperti ini hasilnya :

Tutorial PHP PDF
Halaman Website

Selanjutnya kita akan membuat satu buah file dengan nama index.php, dalam file inilah fungsi exec dari php akan kita gunakan, isi dari file ini kurang lebih seperti ini :

<?php
	// exec("PATH_DIMANA_WKHTMLTOPDF_TERSIMPAN URL PATH_DIMANA_HASIL_FILE_INGIN_DISIMPAN");
	exec("C:/Users/wkhtmltopdf/bin/wkhtmltopdf.exe http://localhost:8080/belajar-wkhtmltopdf/pdf.php D:/xampp\/htdocs/belajar-wkhtmltopdf/file.pdf");

	echo "Tutorial PHP PDF, Cara Generate PDF menggunakan PHP dan WKHTMLTOPDF";
?>

NOTE : mohon perhatikan 3 argumen yang saya gunakan pada fungsi exec diatas dan disesuaikan antara path dimana tools wkhtmltopdf terinstall dan dimana hasil file generate akan disimpan. Silahkan akses melalui localhost Anda.

Tutorial PHP PDF
Halaman Index

Setelah berhasil maka file pdf akan ter-generate sesuai dengan argumen yang kita deklarasikan pada fungsi exec diatas.

Tutorial PHP PDF
Hasil Akhir
Tutorial PHP PDF
Hasil PDF

Penutup

Dengan memanfaatkan fungsi exec dari php dan tools wkthmltopdf, kita telah berhasil membuat sebuah pdf, menurut saya secara pribadi, keunggulan dari menggunakan wkhtmltopdf adalah fleksibilitas dan customisasi yang mudah pada proses pembuatan tampilan pdf (karena pdf di render berdasarkan halaman website), terima kasih.

Leave a Reply

Your email address will not be published. Required fields are marked *