Menambahkan Nomor Halaman (Page Numbering) di mPDF
Bismillahirrohmaanirrohiim. Alhamdulillahi Robbil 'Alamiin. Allahumma Sholli 'Alaa Sayyidinaa Muhammad.
Sebagai salah satu anggota tim Zona Integritas (ZI) di kantor, saya memiliki tugas membuat laporan SPKP (Survei Persepsi Kualitas Pelayanan) dan SPAK (Survei Persepsi Anti Korupsi). Laporan ini dibuat setiap tiga bulan sekali dan formatnya tentu saja sama. Dan sebagai web developer, alih-alih membuat laporan seperti biasanya, saya ngide membuatnya secara otomatis. Dan di sinilah saya perlu membuat penomoran halaman (page numbering).
Saya membuat laporan menggunakan mPDF, pustaka dalam bahasa pemrograman PHP untuk meng-generate PDF. Ini kali pertama saya menggunakan page numbering di mPDF, jadi saya ingin mencatatnya di sini.
Persiapan
Pertama, pastikan Anda sudah meng-install composer di perangkat Anda. Jika sudah meng-install composer, harusnya persyaratan sistem lain sudah terpenuhi. Selain itu, pastikan Anda juga sudah memiliki code editor. Di sini, kita akan menggunakan Visual Studio Code.
Berikut adalah veris aplikasi yang saya gunakan saat saya menulis ini.
- Windows 11 Pro 24H2 26100.6584
- Visual Studio Code 1.104.3
- XAMPP 8.1.25
- Composer 2.8.8
- Mozilla Firefox 143.0.4
Sementara itu, mPDF yang saya gunakan adalah versi 8.2.6.
Langkah-langkah
Inisialisasi Project
Pertama, mari kita buat folder untuk menyimpan project belajar kita. Saya membuat folder dengan nama mdf-page-numbering seperti ini.
Masuk ke direktori tersebut, kemudian tahan tombol Shift dan klik kanan di area kosong, dan pilih Open with Code.
Jendela Visual Studio Code akan terbuka seperti ini.
Buat file index.php. Kita bisa membuatnya dengan mengeklik icon New File... di bagian Explorer pada Visual Studio Code kita, kemudian mengetikkan index.php, dan menekan tombol Enter.
Isi kode berikut di awal, hanya untuk memastikan project kita ada isinya.
Buka Terminal di Visual Studo Code. Kita bisa menggunakan kombinasi tombol Ctrl + ` untuk membukanya.
Jalankan perintah berikut untuk menjalankan development server.
Tahan tombol Ctrl dan klik link yang tampil di Terminal untuk membukanya di browser Anda.
Berikut adalah tampilan di browser.
Install mPDF
Buka Terminal baru. Kita bisa menggunakan kombinasi tombol Ctrl + Shift + ` untuk membuka Terminal baru. Sebentar, sepertinya bagian Explorer memakan tempat terlalu banyak. Mari kita sembunyikan dulu dengan mengeklik bagian editor teks, kemudian menekan kombinasi tombol Ctrl + B.
Bagus. Sekarang, jalankan perintah berikut untuk meng-install mPDF.
Tunggu hingga proses instalasi selesai.
Setelah proses selesai, kita akan mendapatkan tampilan seperti ini.
Mari kita ganti index.php seperti ini untuk memastikan mPDF kita berjalan dengan benar.
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();
Mari kita refresh tampilan di browser. Jika kita mendapatkan tampilan seperti ini, berarti sampai di sini kita masih berhasil.
Buat Beberapa Halaman
Selanjutnya, mari kita buat beberapa halaman. Caranya simpel, kita hanya perlu menggunakan page breaks. Meski begitu, sebenarnya ada beberapa cara menggunakan page breaks. Namun, kita akan menggunakan tag <pagebreak>. Anda bisa membaca dokumentasinya di sini.
Sebentar, kita sembunyikan dulu Terminal di Visual Studio Code agar layar menjadi lebih lega. Kita bisa menekan kembali kombinasi tombol Ctrl + `. Kalau tidak bekerja, tekan dua kali.
Ubah bagian kode ini
menjadi seperti ini.
Halaman 1
<pagebreak>
Halaman 2
<pagebreak>
Halaman 3
";
$mpdf->WriteHTML($html);
Seperti yang sudah kita pelajari barusan bahwa tag <pagebreak> akan membuat halaman baru.
Sekarang, kita memiliki 3 halaman karena kita punya halaman 1 dan mengisinya dengan Halaman 1, kemudian <pagebreak> pertama membuat halaman kedua dan kita mengisinya dengan Halaman 2, kemudian <pagebreak> kedua membuat halaman ketiga dan kita mengisinya dengan Halaman 3.
Mari kita refresh browser untuk memastikan apakah ini benar terjadi.
Tambahkan Nomor Halaman
Setelah kita memiliki 3 halaman, inilah saatnya kita menambahkan nomor halaman pada setiap halaman.
Tambahkan kode berikut sebelum $mpdf->WriteHTML($html);.
Beberapa poin penting di sini:
- Method SetHTMLHeader() bisa kita gunakan untuk mengubah header semua halaman dalam PDF kita. Di dalamnya, kita bisa mengetikkan tag HTML (misal div beserta style-nya).
- {PAGENO} adalah bagian yang akan terisi otomatis dengan nomor halaman.
Dokumentasi terkait setHTMLHeader() bisa kita baca di sini, sementara page numbering di mPDF bisa kita baca di sini.
Mari kita refresh browser untuk memastikan nomor halaman berhasil ditambahkan.
Bagus, sekarang kita bisa membuat laporan triwulan secara otomatis berdasar data yang masuk di aplikasi survei kita.
Penutup
Sampai di sini, kita sudah belajar langkah-langkah menambahkan nomor halaman (page numbering) pada PDF yang kita buat menggunakan mPDF. Kita mulai dengan meninisiasi project, kemudian menambahkan library mPDF ke project kita, membuat beberapa halaman, kemudian menambahkan nomor halaman.
Semoga bermanfaat.
Wallahul muwaafiq ilaa aqwaamith thooriq.
Referensi
- https://mpdf.github.io/paging/page-breaks.html
- https://mpdf.github.io/paging/page-numbering.html
- https://mpdf.github.io/headers-footers/method-2.html
Photo by Maria Pop: https://www.pexels.com/photo/white-paper-with-black-text-341114/





















Komentar
Posting Komentar