spatie/browsershot, PHP tabanlı projelerde headless Chrome tarayıcısını kullanarak web sayfalarını görüntü (örneğin PNG, JPEG) veya PDF dosyalarına dönüştürmeyi sağlayan popüler bir pakettir. 39 milyondan fazla indirme sayısı ve 5.300'ün üzerinde favoriye sahip olması, geniş bir kullanıcı tabanı tarafından tercih edildiğini gösterir. Bu paket, özellikle dinamik içerikli sayfaların (JavaScript ile oluşturulan) ekran görüntüsünü almak veya raporları PDF olarak sunmak gibi senaryolarda işlevsellik sağlar. ZeplinGo olarak, bu tür bir aracın projenize nasıl entegre edilebileceğini ve mevcut sisteminizle nasıl uyumlu hale getirilebileceğini birlikte değerlendirebiliriz.
Hangi ihtiyaçlarda değerlendirilebilir?
- PHP tabanlı web uygulamaları geliştiren ve dinamik sayfalardan otomatik olarak görüntü veya PDF üretmek isteyen ekipler
- Raporlama, fatura veya belge oluşturma gibi iş süreçlerinde web sayfalarını PDF'e dönüştürme ihtiyacı olan kurumlar
- Web sayfalarının görsel durumunu düzenli olarak kaydetmek veya paylaşmak isteyen içerik üreticileri ve pazarlama ekipleri
Yaygın kullanım alanları
Dinamik Raporların PDF Olarak Sunulması
JavaScript ile oluşturulan grafik ve tablolar içeren rapor sayfalarını, kullanıcıların indirebileceği PDF dosyalarına dönüştürmek için kullanılabilir. Örneğin, bir e-ticaret sitesinde sipariş detaylarını PDF olarak sunmak.
Web Sayfası Önizleme Görselleri
Bir web sayfasının tam ekran görüntüsünü alarak, sosyal medya paylaşımları, blog yazıları veya portfolyo sunumları için önizleme görselleri oluşturmak mümkündür.
Otomatik Ekran Görüntüsü Alma
Belirli aralıklarla web sayfalarının ekran görüntüsünü alarak, site tasarımındaki değişiklikleri takip etmek veya içerik doğrulama süreçlerinde kullanmak için idealdir.
İncelenmesi gereken noktalar
- Paket, headless Chrome'un sistemde kurulu olmasını gerektirir; bu nedenle sunucu ortamında Chrome'un yüklü olduğundan emin olunmalıdır.
- Yüksek trafikli uygulamalarda her istek için Chrome başlatmak performans sorunlarına yol açabilir; bu nedenle önbellekleme veya kuyruk sistemi gibi stratejiler değerlendirilmelidir.
- Paketin kullanımı, PHP sürümü ve sunucu kaynaklarına bağlıdır; özellikle paylaşımlı hosting ortamlarında kısıtlamalar olabilir.
WordPress.org
Kurulum ve geliştirme notları
Paketin kurulumu Composer ile yapılır ve headless Chrome'un sistemde hazır bulunması gerekir. Resmi dokümantasyonda kurulum adımları açıklanmıştır.
- 1Composer kullanarak paketi projeye ekleyin: composer require spatie/browsershot
- 2Sisteminize headless Chrome veya Chrome/Chromium tarayıcısını kurun.
- 3Paketin gerektirdiği PHP eklentilerinin (örneğin, GD veya Imagick) yüklü olduğundan emin olun.
Geliştirme sürecinde, paketin sağladığı API ile web sayfalarını görüntü veya PDF'e dönüştürmek için çeşitli seçenekler sunulur. Resmi dokümantasyonda örnekler ve yapılandırma ayarları yer alır.
- Sayfa boyutu, görüntü formatı ve kalite gibi parametreler ayarlanabilir.
- JavaScript etkileşimleri (tıklama, form doldurma) simüle edilebilir.
- HTML içeriği doğrudan dönüştürülebilir veya uzak bir URL kullanılabilir.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, spatie/browsershot'ın projenize entegrasyonunu, mevcut altyapınıza uygun şekilde planlayabiliriz. Özel gereksinimleriniz doğrultusunda, bu paketin sağladığı işlevselliği genişleten veya farklı bir yaklaşım gerektiren durumlarda size özel çözümler geliştirebiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
spatie/browsershot hangi PHP sürümlerini destekler?
Paketin resmi açıklamasında PHP sürüm gereksinimi belirtilmemiştir. Ancak, güncel sürümlerin genellikle PHP 7.4 ve üzerini desteklediği bilinmektedir. Kesin bilgi için paketin dokümantasyonunu incelemek faydalı olacaktır.
Bu paket ile sadece URL'ler mi dönüştürülebilir?
Hayır, paket hem URL'leri hem de doğrudan HTML içeriğini görüntü veya PDF'e dönüştürebilir. Böylece dinamik içerikler de işlenebilir.
Headless Chrome kurulumu zorunlu mu?
Evet, paketin çalışabilmesi için sistemde headless Chrome veya Chrome/Chromium tarayıcısının kurulu olması gerekmektedir. Bu, paketin temel gereksinimlerinden biridir.