Bagi yang membuat file PDF bisa melalui dari format HTML. Cara ini menggunakan wkhtmltopdf. Wkhtmltopdf merupalan berbasis command line yang me-render HTML ke pdf atau berbagai macam format gambar menggunakan QT webkit engine. Dengan berbasis command line membuatnya lebih ringan. Di laravel sudah ada yang mengimplementasi wkhtmltopdf ini, yaitu nahidulhasan/html2pdf.
Tutorial ini menggunakan basis ubuntu. Sebelumnya dengan melakukan instalasi library yang dibutuhkan :
1 2 | sudo apt-get update sudo apt-get install xvfb libfontconfig wkhtmltopdf |
setelah itu pada project laravel anda, jalankan composer :
1 | composer require nahidulhasan/html2pdf |
Jika anda menggunakan versi laravel dibawah 5.5, maka tambahkan ServiceProvider ke dalamfile config/app.php
1 | NahidulHasan\Html2pdf\Html2pdfServiceProvider::class, |
Anda juga dapat menggunakan facade untuk memudahkan class yang lebih ringkas
1 | 'Pdf' => NahidulHasan\Html2pdf\Facades\Pdf::class, |
Penggunaan
Tambahkan pdf pada controller yang akan menggunakan
1 | use NahidulHasan\Html2pdf\Facades\Pdf; |
lalu cukup memanggil method generatePdf, yang isinya berupa html
1 | $document = Pdf::generatePdf('<h1>Buat pdf dari html</h1>'); |
atau bisa membuat pdf langsung menggunakan file blade milik laravel. Misal anda sudah memiliki template view/mails beserta mengirim parameter isinya
1 2 3 | <!-- mail template stored in resources/views/mails/greeting.blade.php --> $document = Pdf::generatePdf(view('mails.greeting', ['name' => 'Fachrie', 'testVar' => 'demo'])); |
Mudahkan…untuk lebih jelasnya bisa ke https://github.com/nahidulhasan/laravel-html2pdf