Ketika Anda ingin menyimpan halaman web dalam bentuk file yang dapat diakses secara offline atau berbagi dokumen dengan orang lain, format PDF seringkali menjadi pilihan yang populer. PDF (Portable Document Format) adalah format dokumen yang dapat dengan mudah dibuka di berbagai perangkat tanpa perubahan format. Dalam artikel ini, kita akan membahas cara mengubah halaman HTML menjadi file PDF menggunakan PHP.
Sebelum kita mulai mengubah halaman HTML menjadi PDF, mari kita pahami apa yang diperlukan untuk tugas ini. Proses pembuatan PDF dari halaman web melibatkan langkah-langkah berikut:
- Membuat halaman HTML yang ingin Anda ubah menjadi PDF.
- Menggunakan library PHP yang sesuai untuk mengonversi dan menghasilkan file PDF dari halaman HTML tersebut.
Terdapat beberapa library PHP yang dapat membantu kita dalam melakukan tugas ini, seperti Dompdf, mPDF, FPDF, dan TCPDF. Dalam artikel ini, kita akan menggunakan library Dompdf dan mPDF sebagai contoh untuk mengonversi HTML menjadi PDF.
Menggunakan Dompdf untuk Mengubah HTML ke PDF
Langkah pertama adalah mempersiapkan halaman HTML yang ingin kita ubah menjadi PDF. Misalkan kita memiliki halaman HTML sederhana sebagai contoh:
<!DOCTYPE html> <html> <head> <title>Contoh Halaman Web</title> </head> <body> <h1>Selamat datang di halaman web kami!</h1> <p>Ini adalah contoh halaman web yang ingin diubah menjadi PDF.</p> </body> </html>
Selanjutnya, kita perlu mengunduh dan menginstal library Dompdf. Anda dapat mengunduhnya dari situs resmi Dompdf atau menggunakan manajer paket seperti Composer untuk menginstalnya.
composer require dompdf/dompdf
Setelah library Dompdf diinstal, kita bisa membuat script PHP untuk mengubah halaman HTML menjadi PDF.
<?php require_once 'vendor/autoload.php'; use Dompdf\Dompdf; $dompdf = new Dompdf(); $html = file_get_contents('contoh_halaman.html'); $dompdf->loadHtml($html); // (Optional) Atur opsi PDF $dompdf->setPaper('A4', 'portrait'); // Render HTML menjadi PDF $dompdf->render(); // Simpan atau tampilkan PDF $dompdf->stream('contoh_halaman.pdf', ['Attachment' => false]);
Penjelasan:
- Pertama, kita memuat library Dompdf menggunakan
require_once
dan membuat objek baru dari kelasDompdf
. - Selanjutnya, kita membaca isi halaman HTML yang ingin diubah menjadi PDF menggunakan
file_get_contents()
dan mengaturnya sebagai HTML yang akan diolah oleh Dompdf menggunakanloadHtml()
. - Kemudian, kita dapat mengatur opsi PDF, seperti ukuran kertas dan orientasi, dengan menggunakan
setPaper()
. Dalam contoh ini, kita menggunakan ukuran kertas A4 dalam orientasi potret. - Selanjutnya, kita merender HTML menjadi PDF dengan menggunakan
render()
. - Akhirnya, kita menyimpan atau menampilkan file PDF yang dihasilkan. Dalam contoh ini, kita menampilkan file PDF ke browser dengan menggunakan
stream()
. Jika Anda ingin menyimpan PDF sebagai file, Anda dapat menggunakanoutput()
atauoutputHtml()
untuk menyimpannya sebagai HTML.
Menggunakan mPDF untuk Mengubah HTML ke PDF
Selain Dompdf, kita juga dapat menggunakan library mPDF untuk mengonversi HTML menjadi PDF. Seperti sebelumnya, langkah pertama adalah mempersiapkan halaman HTML yang ingin diubah menjadi PDF.
<!DOCTYPE html> <html> <head> <title>Contoh Halaman Web</title> </head> <body> <h1>Selamat datang di halaman web kami!</h1> <p>Ini adalah contoh halaman web yang ingin diubah menjadi PDF.</p> </body> </html>
Kemudian, kita perlu mengunduh dan menginstal library mPDF. Anda dapat mengunduhnya dari situs resmi mPDF atau menggunakan Composer untuk menginstalnya.
composer require mpdf/mpdf
Setelah library mPDF diinstal, kita bisa membuat script PHP untuk mengonversi halaman HTML menjadi PDF.
<?php require_once 'vendor/autoload.php'; use Mpdf\Mpdf; $mpdf = new Mpdf(); $html = file_get_contents('contoh_halaman.html'); // Atur opsi PDF (opsional) $mpdf->SetDisplayMode('fullpage'); $mpdf->SetHeader('Contoh Halaman Web|Left|{PAGENO}'); $mpdf->SetFooter('{DATE j-m-Y}|Right|Halaman {PAGENO}'); $mpdf->AddPage('P'); $mpdf->WriteHTML($html); // Simpan atau tampilkan PDF $mpdf->Output('contoh_halaman.pdf', 'D');
Penjelasan:
- Pertama, kita memuat library mPDF menggunakan
require_once
dan membuat objek baru dari kelasMpdf
. - Selanjutnya, kita membaca isi halaman HTML yang ingin diubah menjadi PDF menggunakan
file_get_contents()
dan menambahkannya ke objek mPDF menggunakanWriteHTML()
. - Kemudian, kita dapat mengatur opsi PDF, seperti mode tampilan, header, dan footer menggunakan metode-metode seperti
SetDisplayMode()
,SetHeader()
,SetFooter()
, danAddPage()
. - Selanjutnya, kita menggunakan
Output()
untuk menyimpan atau menampilkan file PDF yang dihasilkan. Dalam contoh ini, kita menyimpan file PDF dengan nama “contoh_halaman.pdf” dan mengatur opsi “D” yang berarti file akan diunduh oleh browser.
Kesimpulan
Dalam artikel ini, kita telah membahas cara mengubah halaman HTML menjadi file PDF menggunakan PHP. Kita menggunakan library Dompdf dan mPDF sebagai contoh dalam proses konversi ini. Dengan menggunakan salah satu library ini, Anda dapat dengan mudah menghasilkan file PDF dari halaman web Anda dan menyimpannya atau berbagi dengan orang lain. Selamat mencoba!