Laravel Browsershot, Puppeteer adlı Google Chrome’un bir başka API’si üzerine inşa edilmiştir. Browsershot’u kullanarak web sayfalarını görüntüleyebilir, ekran görüntüleri alabilir veya PDF dosyaları oluşturabilirsiniz. İşte Browsershot’un temel kullanım adımları:
1. Gerekli Kütüphanenin Yüklenmesi:
İlk olarak, Laravel projesinde Browsershot’u kullanabilmek için spatie/browsershot
paketini yüklemeniz gerekiyor. Composer kullanarak şu komutu çalıştırabilirsiniz:
composer require spatie/browsershot
2. Browsershot Kullanarak Web Sayfası Yakalama:
Örnek olarak, bir web sayfasının ekran görüntüsünü yakalamak için aşağıdaki gibi bir lam parçasını kullanabilirsiniz:
use Spatie\Browsershot\Browsershot;
// Web sayfasının ekran görüntüsünü al
Browsershot::url('https://www.example.com')
->save('screenshot.png');
Yukarıdaki kod, https://www.example.com
adresindeki web sayfasının ekran görüntüsünü screenshot.png
adlı bir dosyaya kaydeder.
3. PDF Oluşturma:
Browsershot kullanarak bir web sayfasını PDF olarak kaydetmek için aşağıdaki gibi bir kod örneği kullanabilirsiniz:
use Spatie\Browsershot\Browsershot;
// Web sayfasını PDF olarak kaydet
Browsershot::url('https://www.example.com')
->savePdf('example.pdf');
Yukarıdaki örnek, https://www.example.com
adresindeki web sayfasını example.pdf
adlı bir PDF dosyasına dönüştürür.
4. Seçenekler ve Özelleştirme:
Browsershot ile farklı seçenekler ve özelleştirmeler kullanarak çıktıyı kişiselleştirebilirsiniz. Örneğin, viewport boyutunu belirlemek, JavaScript’i etkinleştirmek veya bazı CSS özelliklerini kullanmak için:
use Spatie\Browsershot\Browsershot;
Browsershot::url('https://www.example.com')
->viewport(1920, 1080) // Viewport boyutunu ayarla
->mobile() // Mobil cihaz modunu etkinleştir
->setDelay(2000) // İşlem arasında gecikme ekle (ms cinsinden)
->setOption('no-sandbox') // Sandbox'ı devre dışı bırak
->save('example.png');
5. Dosyayı Public Klasörüne Kaydetme
Dosyaları Laravel projesinin public
klasörüne kaydetmek oldukça basit. Bunu yapmanın birkaç farklı yolu bulunabilir. Örneğin, public_path()
fonksiyonunu kullanarak dosyaları public
klasörü içine kaydedebilirsiniz.
Öncelikle, Browsershot kullanarak oluşturduğunuz dosyayı public
klasörüne kaydetmek için aşağıdaki gibi bir örnek gösterilebilir:
use Spatie\Browsershot\Browsershot;
// Web sayfasının ekran görüntüsünü al ve public klasörüne kaydet
Browsershot::url('https://www.example.com')
->save(public_path('screenshots/example.png'));
Yukarıdaki kod, public
klasörü altında screenshots
adlı bir klasör oluşturur ve example.png
adında ekran görüntüsünü kaydeder. public_path()
fonksiyonu, dosyanın public
klasörü içindeki tam yolunu oluşturur.
Bu şekilde, oluşturulan ekran görüntüsü veya dosya, kullanıcılar tarafından erişilebilir hale gelir çünkü public
klasörü web sunucusu tarafından doğrudan erişilebilir bir konumda bulunur.