Membuat Report PDF Laravel Dengan Package Laravel Snappy

Sangat banyak sekali package Laravel untuk membuat laporan dalam bentuk PDF. Nah kali ini kita akan meggunakan package Laravel Snappy.

Kenapa Laravel Snappy ?

Dari yang saya coba di beberapa aplikasi yang saya buat dengan package Laravel Snappy. Package ini dapat menampilkan Grafik pada PDF dengan cepat, dan juga menampilkan halaman pdf yang berisi teks biasa, tabel, gambar dan konten lainnya secara cepat. Kenapa bisa cepat ? di Laravel Snappy prinsip kerjanya adalah mengubah tampilan (view) yang kita desain dalam kode HTML biasa menjadi file PDF dengan sangat cepat ketimbang package lainnya untuk membuat PDF di laravel.

Oh ya, sebelum lanjut ke tutorialnya saya disini menginstall web laravel saya di server ubuntu 18.04. Nah, jika kamu yang menginstal web laravelnya di hosting atau shared hosting tenang saja, nanti akan saya jelaskan sedikit perbedaanya saat pemasangan package ini.

Oke kita mulai..

Proses Instalasi

  1. Install dependecies yang diperlukan

Note. Jika kamu menginstall di server 32 bit install depedencies berikut.
Ketik di terminal

1
2
$ composer require h4cc/wkhtmltopdf-i386 0.12.x
$ composer require h4cc/wkhtmltoimage-i386 0.12.x

Note. Jika kamu menginstall di server 64 bit install depedencies berikut.
Ketik di terminal

1
2
$ composer require h4cc/wkhtmltopdf-amd64 0.12.x
$ composer require h4cc/wkhtmltoimage-amd64 0.12.x
  1. Install package yang diperlukan

Install package berikut, ketik di terminal

1
composer require barryvdh/laravel-snappy
  1. Konfigurasi package yang telah di install

Buka projek laravel kamu, masuk ke folder config. Lalu buka file app.php.

Pada bagian providers tambahkan class package seperti diatas. dan pada bagian aliases tambahkan class PDF dan class SnappyImage.

  1. Publish vendor folder

Jalankan perintah berikut di terminal

1
php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"

Oke, setelah maluli tahap proses instalasi, kita akan masuk ke tahapan konfigurasi yang cukup melelahkan, hehehhe.

Tahap Konfigurasi

Ketik di terminal

1
cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/

Lalu ketik lagi

1
cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/

Note : Jika kamu menginstall web laravel nya di server langsung ikuti cara ini, jika di shared hosting abaikan tahapan ini.

Setelah menjalankan perintah copy diatas, selanjutnya set kedua folder di lokasi tujuan copy diatas menjadi permission 777.

Ketik lagi

1
2
chmod -R 777 /usr/local/bin/wkhtmltoimage-amd64
chmod -R 777 /usr/local/bin/wkhtmltopdf-amd64

Sekarang lakukan konfigurasi pada file projek laravel kamu config/snappy.php.

Untuk yang menginstall di server langsung

Sesuaikan isi nya dengan isi berikut.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
return array(
'pdf' => array(
'enabled' => true,
'binary' => '/usr/local/bin/wkhtmltopdf-amd64',
'timeout' => false,
'options' => array(),
'env' => array(),
),
'image' => array(
'enabled' => true,
'binary' => '/usr/local/bin/wkhtmltoimage-amd64',
'timeout' => false,
'options' => array(),
'env' => array(),
),
);

Untuk yang menginstall di shared hosting

Sesuaikan isi nya dengan isi berikut.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
return array(
'pdf' => array(
'enabled' => true,
'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
'timeout' => false,
'options' => array(),
'env' => array(),
),
'image' => array(
'enabled' => true,
'binary' => base_path('vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64'),
'timeout' => false,
'options' => array(),
'env' => array(),
),
);

SELESAIā€¦. Kamu bisa mencoba untuk mengenerate file PDF di laravel

Untuk penggunaan Laravel Snappy sendiri kamu bisa langsung cek dokumentasinya di

https://github.com/barryvdh/laravel-snappy

Troubleshoot

Jika setelah melakukan tahapan instalasi dan kofigutasi kamu dapati error

1
2
The exit status code '1' says something went wrong:
stderr: "blablablabalbalba"

Berikut solusi nya untuk ubuntu 18.04

1
sudo apt install libssl1.0-dev

untuk ubuntu 14.04

1
sudo apt install libssl-dev=1.0.1f-1ubuntu2.25
Cloud Hosting Indonesia

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×