5 Aralık 2016

Php fpdf kütüphanesinde Türkçe karakter problemi çözümü

Merhabalar,

Daha önce yazıya döktüğüm makalemde "fpdf" kütüphanesini kullanarak php ile nasıl pdf dosyaları oluşturabileceğimizi anlatmıştım.
http://www.kodyazma.com/2013/05/php-pdf-olusturma.html

Bir arkadaşımızdan gelen Türkçe karakter sorunu üzerine problemi araştırdım ve çözümünü anlatmak istedim.

Farklı dil sistemlerini fdpf'de kullanabilmek font dosyası için ayar yapmamız gerekiyor. Bunun için "makefont" klasörü içerisindeki "makefont.php" dosyasını kullanacağız. Ana klasör içerisine oluşturduğumuz dosyaya aşağıdaki kodları ekleyerek, php dosyamızı çalıştıralım. Font seçimini kendi bilgisayarınızdaki font dosyalarına göre değiştirebilirsiniz.

<?php

include("makefont/makefont.php");

MakeFont("C:\Windows\Fonts\arial.ttf",  "ISO-8859-9") ;

?>

Php komutlarını çalıştırdıktan sonra 2 adet dosya oluşacaktır. "arial.php" ve "arial.z" isimli 2 adet dosyayı "FPDF" kütüphanesi içerisindeki "font" klasörü içerisine yerleştiriyoruz.

 $pdf->AddFont('arial','','arial.php'); 
 $pdf->SetFont('Arial','',14);
 $turkce_icerik = iconv('utf-8', 'ISO-8859-9', 'ŞüİĞ gibi harfleri artık kullanabiliriz');

Böylece Türkçe karakterleri pdf dosyamızda sorunsuzca kullanabiliriz. Farklı dillerin karakterleri için aşağıdaki tabloyu da paylaşalım.
  • cp1250 (Central Europe)
  • cp1251 (Cyrillic)
  • cp1252 (Western Europe)
  • cp1253 (Greek)
  • cp1254 (Turkish)
  • cp1255 (Hebrew)
  • cp1257 (Baltic)
  • cp1258 (Vietnamese)
  • cp874 (Thai)
  • ISO-8859-1 (Western Europe)
  • ISO-8859-2 (Central Europe)
  • ISO-8859-4 (Baltic)
  • ISO-8859-5 (Cyrillic)
  • ISO-8859-7 (Greek)
  • ISO-8859-9 (Turkish)
  • ISO-8859-11 (Thai)
  • ISO-8859-15 (Western Europe)
  • ISO-8859-16 (Central Europe)
  • KOI8-R (Russian)
  • KOI8-U (Ukrainian)
Son olarak daha önceki makalemde paylaşmış olduğum kodlarımızın güncel halini (oluşturulan font dosyasının ekli olduğu) paylaşayım. 

https://yadi.sk/d/dAq6QGz532FE4z

Umarım yardımcı olabilmişimdir, kolay gelsin.

Bu Blogda Ara

İletişim

Ad

E-posta *

Mesaj *