Devam Et
Logo
Blog
PHP

PHP ile PDF Oluşturma (FPDF)

PHP ile geliştirdiğiniz projenizde bazen verilerinizi dosyaya yazmanız gerekebilir. Bunuda genellikle sonradan düzenlenmemesi için PDF formatında oluşturmak daha mantıklı oluyor. Peki bunu nasıl yapabiliriz ? 

Bunu yapmanın en kolay ve en etkileyici yolu FPDF adındaki açık kaynak kodlu kütüphaneyi kullanmaktır. Bu kütüphanenin göze çarpan özelliklerine bakacak olursak, 

  • Açık kaynak kodlu ve geliştirilen bir kütüphane olması,
  • PDF dosya üzerinden hemen hemen herşeyi yapmamıza imkan tanıması,
  • Detaylı bir dökümantasyonunun olması,
  • Bolca örnek barındırması,
  • Dinamik olması

gibi özelliklerini sayabiliriz. (Kütüphane hakkındaki detaylı bilgilere fpdf.org adresinden ulaşabilirsiniz.)

Şimdi sözü daha fazla uzatmadan örnek kodlarımıza gelelim;

FPDF ile temelde neler yapabiliriz ?

1- Dosyalarımızı indirelim

fpdf.org adresine girip, downloads linkinden istediğiniz bir sürümü (1.8 sürümünü öneririm) indirin. İndirdiğiniz dosya içerisinden fpdf.php, fpdf.css dosyalarını ve font klasörünü projenizin içerisine atın. Daha sonra php dosyanızın en üstüne aşağıdaki kodu yazın

require('fpdf.php');

2- FPDF sınıfından bir nesne oluşturalım

Şimdi aşağıdaki kodlar yardımıyla nesnemizi oluşturalım.

$pdf = new PDF();

3- Sayfa oluşturalım

Aşağıdaki fonksiyonumuz ile PDF dosyamızda yeni bir sayfa oluşturup içeriklerimizi bu boş sayfaya giriyoruz. Her oluşturacağımız sayfa için AddPage() fonksiyonunu bir kere çalıştırıyoruz.

$pdf->AddPage();

4- Yazılarımızı girelim 

$pdf->SetFont('Arial','B',16);
$pdf->Cell(70,10,'Hello World!',1,0);

Burada yazımızı eklemek için Cell() fonksiyonunu kullanıyoruz. Cell fonksiyonunun detaylı anlatımını videomuzda yaptığımız için burada yazıyı uzatmıyorum. Buradaki önemli nokta şu: PDF dosyamızı oluştururken font tanımlaması yapmazsak proje hata verecektir. O yüzden mutlaka önce SetFont() ile tanımlamamızı yapıp sonra yazılarımızı ekliyoruz.

5- Dosyamızı oluşturup ekranda gösteriyoruz

PDF dosyamıza yazacaklarımızı tamamladıktan sonra aşağıdaki komut ile dosyamızı tamamlayıp ekran da göstetiyoruz.

$pdf->Output();

 

Peki bu temel işlemler dışında neler yapabiliriz ?

Header ve Footer fonksiyonları 

Header ve Footer fonksiyonları ile PDF dosyanızdaki her sayfanın başına ve sonuna aynı içerikleri tekrar tekrar kod yazmadan ekleyebilirsiniz.

class PDF extends FPDF{
  function Header(){
    $this->Image('img/İkon.png',10,10,20,20,'PNG');
    $this->SetFont('Times','B','18');
    $this->Cell(190,20,'blogaktuel.com',0,0,'C');
  }

  function Footer(){
    $this->SetY(-10);
    $tarih = date('d/m/Y'); 
    $this->SetFont('Times','B','18');
    $this->Cell(190,10,turkce('blogaktuel.com tarafından hazırlanmıştır. (Görüntülenme Tarihi : '.$tarih.')'),0,0,'C');
    $this->Cell(40,10,turkce('Sayfa Numarası : '.$this->PageNo()),0,0,'C');
  }
}

 

PDF dosyayı yatay olarak oluşturma

PDF dosyanızı dikey değil de yatay formatta oluşturmak isterseniz PDF nesnesi oluşturduğumuz satırda aşağıdaki değişikliği yapmanız yeterli olacaktır.

$pdf = new PDF('L');

 

PDF dosyanıza başlık verme

PDF dosyanıza özel bir isim vermek isterseniz aşağıdaki kodu kullanabilirsiniz.

$pdf->SetTitle('Blog Aktüel Deneme PDF',1);

 

PDF dosyanıza font ekleme 

PDF dosyanıza, olmayan bir font eklemek isterseniz; indirdiğiniz font dosyanın içerisinden çıkan php ve z uzantılı iki dosyayı, proje klasörünüzde bulunan font klasörünün (FPDF'i indirince bu klasörü de almıştık) içerisine atın ve aşağıdaki kodu proje dosyanıza ekleyin

$this->AddFont('font_adi','','font_adi.php');

 

PDF dosyanızı bir isimle kaydetme

Oluşturduğunuz dosyayı farklı bir isimle sunucuza kaydetmek veya kullanıcının indirmesine imkan vermek isterseniz aşağıdaki kodu kullanabilirsiniz.

$pdf->Output('I','Deneme PDF.pdf',1);

 

Eveeeettttt hepsi bu kadar arkadaşlar. Yazımız çok fazla uzamasın diye detaylara burada inmedim. Ama 2 bölüm halinde çektiğimiz FPDF videomuzu izlerseniz, FPDF ile alakalı detayları öğrenebilirsiniz.

Aklınıza takılan birşey olursa yorum kısmından bizlere iletebilirsiniz.

İyi kodlamalar

Author

Muhammed Yusuf TAŞKESENLİGİL

Hakkında: Hakkında: 2015 Haziran ayında KTÜ Bilgisayar Mühendisliği bölümünden mezun oldum. Yaklaşık 4 yıldır web teknolojileri üzerinde çalışıyorum. HTML, CSS, JavaScript ve PHP alanlarında proje geliştiriyorum. Teknolojiyi seven ve hayatının her alanında kullanan biriyim.

Facebook Paylaşım Butonu Yapma Önceki Yazı
PHP ile Timer Yapalım Sonraki Yazı

0 Yorum

    Henüz hiç yorum eklenmemiş!

Bir Yorumda Sen Bırak