Cara Screenshot Web Page dari Server dengan wkhtmltoimage
Kadang kita butuh screenshot halaman web langsung dari server. Bukan dari laptop, bukan manual, tapi otomatis. Misalnya untuk ambil gambar dashboard monitoring, bukti report, atau sekadar dokumentasi halaman internal. Dulu saya pikir harus pakai browser headless yang berat. Ternyata ada cara yang jauh lebih simpel.
Di sini saya gunakan wkhtmltoimage. Tool kecil, jalan di CLI, tapi bisa jadi sangat powerful kalau dikombinasikan dengan automation.
Langsung saja kita praktekan cara penggunaan nya mulai dari instalasi hingga ingin berjalan secara otomatis.
Instalasi dengan Ubuntu / Debian
apt update
apt install wkhtmltopdf -y
Walaupun nama paketnya wkhtmltopdf, di dalamnya sudah termasuk wkhtmltoimage.
Pastikan sudah terinstall:
which wkhtmltoimage
wkhtmltoimage --version
Kalau keluar versinya, berarti siap dipakai.
Uji Coba Dasar (Manual)
Sekarang kita test dulu secara manual.
Saya mencontohkan dengan web google di alamat:
https://google.com
Coba jalankan:
wkhtmltoimage http:/google.com /hasil.png
Kalau berhasil, akan muncul file:
Di sini sudah terlihat bahwa gambar diambil langsung dari server, bukan dari laptop kita.
Kalau halaman butuh waktu load (misalnya pakai JavaScript), tambahkan delay:
wkhtmltoimage --javascript-delay 5000 https://google.com hasil.png
Artinya tunggu 5 detik sebelum capture.
Dengan tool sederhana ini, dapat dikembangkan menjadi beberapa fungsi yang berguna seperti:
- Mendokumentasikan dashboard production
- Simpan bukti sebelum maintenance
- Kirim hasil screenshot via email otomatis
- Integrasi dengan script monitoring
Tanpa GUI. Tanpa browser. Tanpa server berat.
Hanya command line.
Tips dari ChatGPT
- Gunakan path absolut /usr/bin/wkhtmltoimage di crontab
- Redirect output ke /dev/null supaya log tidak penuh
- Pastikan permission folder output benar
- Kalau halaman butuh login, bisa tambahkan cookie atau header
- Dan yang paling penting, selalu uji manual dulu sebelum dimasukkan ke crontab.
Karena automation yang salah tetap saja salah, hanya berjalan otomatis 😄
Comments
Post a Comment