DomPDF (Hızlı PDF Çıktıları)

artiframe add dompdf komutu, basit ve temiz HTML/CSS yapılarını inanılmaz bir hızla PDF'e çeviren ünlü dompdf/dompdf kütüphanesini projeye dahil eder. mPDF'e göre daha hafiftir ancak CSS3 yorumlama standartlarına daha sadıktır.

💡 Bilgilendirme: Direkt Kullanım
ArtiFrame, bu paket için src/Service klasörüne özel bir entegrasyon (Wrapper/Stub) sınıfı kopyalamaz. Kurulum yalnızca Composer üzerinden paketi projeye dahil eder. Aşağıdaki kodlar, paketin kendi orijinal işleyişini gösteren basit kullanım örnekleridir. Daha fazlası için DomPDF Repository'sini inceleyebilirsiniz.
Kurulum
terminal
$ artiframe add dompdf
Kullanım Örneği

DomPDF, mPDF'den biraz farklı olarak sayfayı önce render (çizim) işleminden geçirir, daha sonra stream (akış) olarak tarayıcıya basar.

ReportController.php
<?php

use Dompdf\Dompdf;
use Dompdf\Options;

// 1. Opsiyonları Belirle (Örn: Çıktı kalitesi, uzaktan resim çekme izni)
$options = new Options();
$options->set('isRemoteEnabled', true); // HTML içinde http:// ile başlayan resimleri indirebilmesi için

// 2. Nesneyi Başlat
$dompdf = new Dompdf($options);

// 3. HTML İçeriği
$html = '
    <style>
        body { font-family: sans-serif; color: #333; }
        h1 { color: #d32f2f; }
    </style>
    <h1>Satış Raporu</h1>
    <p>Bu rapor <b>'.date('Y-m-d').'</b> tarihinde oluşturulmuştur.</p>
';

$dompdf->loadHtml($html);

// 4. (Opsiyonel) Kağıt boyutu ve yönünü ayarla (portrait = Dikey, landscape = Yatay)
$dompdf->setPaper('A4', 'portrait');

// 5. HTML'i PDF belleğine işle
$dompdf->render();

// 6. Tarayıcıya Gönder
// Attachment => 0: Tarayıcıda açar, Attachment => 1: Zorla indirtir
$dompdf->stream("satis-raporu.pdf", ["Attachment" => 0]);