PHP'de PDF Oluşturma Kütüphaneleri
PHP, PHP dosyalarınızı PDF belgelerine dönüştürmenize kolayca yardımcı olabilecek bir dizi kütüphane sunar.
1. FPDF
FPDF(Ücretsiz Taşınabilir Belge Biçimi), PDF'leri ücretsiz olarak oluşturmak ve düzenlemek için çok sayıda işlevi içeren bir PHP sınıfıdır. FPDF sınıfı, aşağıdakiler gibi çeşitli özellikleri destekler:
- Resim desteği (PNG, JPEG ve GIF)
- Sayfa başlıkları
- Sayfa biçimi
- Altbilgiler
- Otomatik sayfa sonu ve çok daha fazlası
2. TCPDF
TCPDF PHP kütüphanesi bir PDF belgesi oluşturmayı kolaylaştırır.
TCPDF kütüphanesi ayrıca şu gibi çeşitli işlevleri destekler:
- Sayfa başlıklarını ve alt bilgilerini otomatik olarak yönetin
- Metin oluşturma seçenekleri - XHTML + CSS kodu, JavaScript ve Forms yayınlama süreçleri.
- JPEG, PNG ve SVG resimlerini doğal olarak destekler.
- Sayfa sonları, satır sonları ve metin hizalamaları otomatiktir.
- Sayfa gruplama ve otomatik sayfa numaralandırma ve çok daha fazlası.
3. DOMPDF
DomPDF, PHP tabanlı bir HTML'den PDF'e dönüştürücüdür. HTML ve CSS belgelerini (satır içi stiller ve harici stil sayfaları dahil) okuyan ve bunları otomatik olarak oluşturulmuş bir PDF belgesine dönüştüren bir kütüphanedir. Dompdf kütüphanesi aşağıdakiler gibi birçok özelliği destekler:
- CSS 2.1 ve @import, @media ve @page kuralları dahil olmak üzere birkaç CSS3 özelliği
- HTML 4.0 sunum niteliklerinin çoğunluğu
- Karmaşık tablolarla uyumluluk
- Resim desteği (gif, png (alfa kanallı 8, 24 ve 32 bit), bmp ve jpeg).
- Diğer avantajlarının yanı sıra, üçüncü taraf PDF kütüphanelerine bağımlı olmamak.
** Not: Çalışması için PHP sürümünün 7.1 veya üzeri olması gerekmektedir.
4. HTML2PDF
HTML2PDF API'si web sayfalarını PDF'ye dönüştürmeyi kolaylaştırır. Geçerli HTML kodlarını okur ve bunları PDF formatına dönüştürerek makbuzlar ve kılavuzlar gibi birçok belgenin oluşturulmasına olanak tanır. html2pdf API'sini kullanmak için belirli etiketlerin uygulanması gerektiği unutulmamalıdır, bu nedenle kendi HTML kodunuzu yazmanız önerilir. TCPDF'yi kullanır.
Bir sürü harika özelliği var, örneğin:
- Sayfa boyutunu ve kenar boşluklarını özelleştirme olanağı
- Yazı tiplerini ve renkleri isteğinize göre değiştirerek düzeni kişiselleştirmenize olanak tanır.
- Başlıklarınızı, altbilgilerinizi ve ofsetlerinizi özelleştirmenizi sağlar.
- PDF belgelerinize filigran eklemenize olanak tanır.
- PDF'nizi yetkisiz yazdırma ve kopyalamaya karşı korumak için şifreleme veya parolalar kullanır.
HTML2PDF API'sini kullanmak için şunlara ihtiyacınız olacak:
- PHP sürümü 5.6 veya üzeri
- mbstring veya gd PHP uzantısı
Kütüphanenin Karşılaştırılması
PDF oluşturmayı yöneten popüler PHP kütüphanelerinin bir karşılaştırmasını sağlamak için yaygın olarak kullanılan dört kütüphaneye bakacağız: HTML2PDF, TCPDF, DomPDF ve FPDF. Her kütüphane farklı yetenekler, odak noktaları ve arayüzler sunarak çeşitli kullanım durumları için uygun hale getirir.
İşte özelliklerini, uyumluluğunu, kullanım kolaylığını ve belirli işlevlerini özetleyen ayrıntılı bir tablo:
Özellik | HTML2PDF | TCPDF | DomPDF | FPDF | MPDF | Snappy (wkhtmltopdf) |
---|---|---|---|---|---|---|
Temel alınarak | TCPDF | Özel PDF motoru | Özel PDF motoru | Özel PDF motoru | ||
HTML/CSS Desteği | Tam HTML/CSS | Kapsamlı HTML/CSS | Sınırlı HTML/CSS | HTML/CSS yok | ||
PHP Sürüm Uyumluluğu | PHP 5.6 ve daha yenisi | PHP 5.3 ve daha yenisi | PHP sürümü 7.1 veya üzeri | En az PHP 5.1 ve PHP 7 ve PHP 8 ile uyumludur | ||
UTF-8 Desteği | Evet | Evet | Evet | HAYIR | ||
Performans | Orta | Yüksek | Orta | Yüksek | ||
Kullanım Kolaylığı | Kolay | Orta | Kolay | Kolay | ||
Üstbilgi/Altbilgi Yönetimi | Desteklenen | Desteklenen | Desteklenen | Manuel | ||
Görüntü Desteği | Evet | Evet | Evet | Evet | ||
JavaScript | HAYIR | HAYIR | HAYIR | HAYIR | ||
Dosyaya/akışa çıktı | Evet | Evet | Evet | Evet | ||
Sayfa Yönü ve Boyutu | Özelleştirilebilir | Son derece özelleştirilebilir | Özelleştirilebilir | Özelleştirilebilir | ||
Belgeleme | İyi | Yaygın | Yeterli | Yeterli | ||
Topluluk Desteği | Orta | Güçlü | Güçlü | Orta |
Bu karşılaştırma, kapsamlı HTML oluşturma, eski PHP sürümlerine destek veya gelişmiş PDF özelleştirme özellikleri olsun, hangi kütüphanenin belirli proje gereksinimlerine en iyi uyduğunu belirlemeye yardımcı olacaktır.
Kaynak