Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: PHP’de ekran görüntüsü alma ve PDF oluşturma (wkhtmltopdf olmadan)
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » PHP’de ekran görüntüsü alma ve PDF oluşturma (wkhtmltopdf olmadan)

Yazılım

PHP’de ekran görüntüsü alma ve PDF oluşturma (wkhtmltopdf olmadan)

teknomers
Son güncelleme: 26 Şubat 2026 08:43
teknomers
Paylaş
Paylaş

PHP ile Ekran Görüntüsü Alma ve PDF Oluşturma Yöntemleri (wkhtmltopdf Kullanmadan)

PHP ile PDF oluşturma süreci genellikle zorlu bir deneyimdir. wkhtmltopdf, bir binary kurulum gerektirirken modern CSS ve JavaScript ile sorunlar yaşayabilir. Dompdf tamamen PHP tabanlıdır ancak JavaScript ağırlıklı sayfaları render edemez. mPDF benzer bir sınırlamaya sahiptir. Browsershot (Spatie), Puppeteer’i sarmaladığı için sunucunuzda Node.js çalıştırmanızı gerektirmektedir.

Contents
  • Bir URL’den Ekran Görüntüsü Alma
  • Bir URL’den PDF Oluşturma
  • HTML’den PDF Oluşturma (wkhtmltopdf / Dompdf Yerine)
  • Laravel Kontrolcü Örneği
  • Dağıtım

Temiz bir yol var: bir HTTP isteği, binary cevap ve sistem bağımlılığı yok.

Bir URL’den Ekran Görüntüsü Alma

<?php

function screenshot(string $url): string
{
    $ch = curl_init('https://pagebolt.dev/api/v1/screenshot');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'x-api-key: ' . $_ENV['PAGEBOLT_API_KEY'],
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'url' => $url,
            'fullPage' => true,
            'blockBanners' => true,
        ]),
    ]);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

// Diskte kaydet
file_put_contents('screenshot.png', screenshot('https://example.com'));

Bir URL’den PDF Oluşturma

function pdfFromUrl(string $url): string
{
    $ch = curl_init('https://pagebolt.dev/api/v1/pdf');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'x-api-key: ' . $_ENV['PAGEBOLT_API_KEY'],
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'url' => $url,
            'blockBanners' => true,
        ]),
    ]);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

file_put_contents('page.pdf', pdfFromUrl('https://yourapp.com/invoice/1042'));

HTML’den PDF Oluşturma (wkhtmltopdf / Dompdf Yerine)

Öncelikle PHP şablonunuzu bir HTML stringine render edin, ardından gönderebilirsiniz:

function pdfFromHtml(string $html): string
{
    $ch = curl_init('https://pagebolt.dev/api/v1/pdf');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'x-api-key: ' . $_ENV['PAGEBOLT_API_KEY'],
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode(['html' => $html]),
    ]);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

// HTML'yi istediğiniz gibi oluşturun
ob_start();
include 'templates/invoice.php';
$html = ob_get_clean();

$pdf = pdfFromHtml($html);
file_put_contents("invoice-{$invoiceId}.pdf", $pdf);

Laravel Kontrolcü Örneği

use Illuminate\Http\Response;

class InvoiceController extends Controller
{
    public function download(Invoice $invoice): Response
    {
        $html = view('invoices.pdf', compact('invoice'))->render();

        $ch = curl_init('https://pagebolt.dev/api/v1/pdf');
        curl_setopt_array($ch, [
            CURLOPT_POST => true,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HTTPHEADER => [
                'x-api-key: ' . env('PAGEBOLT_API_KEY'),
                'Content-Type: application/json',
            ],
            CURLOPT_POSTFIELDS => json_encode(['html' => $html]),
        ]);
        $pdf = curl_exec($ch);
        curl_close($ch);

        return response($pdf, 200, [
            'Content-Type' => 'application/pdf',
            'Content-Disposition' => "attachment; filename=\"invoice-{$invoice->id}.pdf\"",
        ]);
    }
}

Hiçbir Composer paketi, binary veya Node.js gerektirmiyor. Blade şablonu normal şekilde render ediliyor — sadece PDF oluşturma adımını değiştirmelisiniz.

Dağıtım

Hiçbir buildpack, apt-get veya binary katmanı gerekli değil. Paylaşımlı hosting, Heroku, Laravel Forge veya outbound HTTPS olan herhangi bir PHP ortamında çalışıyor. PAGEBOLT_API_KEY‘yi .env dosyanıza ekleyin ve normal bir şekilde dağıtım yapın.

Kaynak: Orijinal Makale

2026’da PHP Geliştiricileri için AI Kodlama Araçları: Laravel, Symfony ve WordPress Karmaşasını Gerçekten Kim Yönetiyor?
Laravel’de Filament Çeviri Yönetimini Geliştirme
Laravel 13 Queue::route(): Tüm Kuyruk Topolojisini Kontrol Etmek İçin Tek Nokta
Laravel Personel Takviyesi: Bu Yıl Dikkate Alınması Gereken En İyi 5 Ajans
Laravel Geliştiricileri için WebSockets 101: Kavramdan Üretime Deploynix Üzerinde
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Waymo Chicago ve Charlotte’da Testlere Başlıyor
Sonraki Makale Sony Watchman’dan CRT ile VR Başlık Tasarlandı: Keskin Olmasa da Ekran Kapı Etkisini Hızla Gideriyor

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Mira Murati Yeniden Sahneye Çıkıyor
Genel
HP, RTX 5080 oyun PC’sinde 2.600 $ indirim yaptı!
Donanım
$559 Nvidia RTX 5070 GPU, en uygun fiyatla 1440p oyun sunuyor
Donanım
Laravel’de Carbon (MultiCarbon) ile Jalali ve Hijri Tarihleri
Yazılım
DDR4 bellek ve anakart üretimi yeniden başlıyor, DDR5’siz geleceğe hazırlık
Donanım
AI token maliyetleri büyük bir sorun haline geliyor, OpenAI çözümler arıyor
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?