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.

<?php
echo "Works!"; 


Buka Terminal di Visual Studo Code. Kita bisa menggunakan kombinasi tombol Ctrl + ` untuk membukanya.


Jalankan perintah berikut untuk menjalankan development server.

php -S localhost:8080 


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.

composer require mpdf/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.

<?php

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

$mpdf->WriteHTML('<h1>Hello world!</h1>'); 

menjadi seperti ini. 

$html = "
    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);.

$mpdf->SetHTMLHeader('<div style="text-align: right">{PAGENO}</div>');


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

  1. https://mpdf.github.io/paging/page-breaks.html 
  2. https://mpdf.github.io/paging/page-numbering.html 
  3. 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

Postingan populer dari blog ini

Cara Memilih Database MySQL Aktif via Terminal Ubuntu 22.04

Cara Mengatasi "Access denied for user 'root'@'localhost' (mysqli_real_connect(): (HY000/1698))" di Ubuntu 20.04 LTS

Cara Install DBeaver Up-To-Date di Ubuntu 22.04