"Enter"a basıp içeriğe geçin

DomPDF ile Php’de PDF oluşturma [Türkçe Karakter Destekli]

Merhaba arkadaşlar php ile pdf oluşturma konusunda bir çok kaynak var fakat bir çoğunda da türkçe karakter problemi yaşanıyor. Zaten yabancı kaynakları hiç saymıyorum. Kesin çözümlü olan güncel bir kaynak bulamadım.

HTML çıktısını PDF’e dönüştürme konusunda DOMPDF kullanıyoruz.

DomPDF ile default olarak Türkçe karakterleri destekleyen DejaVu Sans font beraberin geliyor. Ama hazırladığınız projede özel olarak kullanmak istediğiniz bir font varsa ekstra font tanımlamanız gerekli.

DomPDF Güncel versiyonu ile sizlere çözümü anlatacağım.

DomPDF ile ilgili bir ikinci yaşanan problem ise Php&MySQL ile veri tabanından güncel data çekip pdf oluşturmak istediğinizde ise load ettiğiniz dosya html değilse yine başarılı olamayacaksınız.

Fazla lafı uzatmadan gelelim DomPDF‘e özel font eklemeye.

Fontu internette çeşitli sitelerden indirebilirsiniz veya sisteminizden de bir font *.ttf uzantılı dosyayı alıp kullanabilirsiniz.

Sistemden bir fontu kullanacaklar

Windows kullanıcıları için;

C:\Windows\Fonts dizini altında bulabilirsiniz.

Mac OsX kullanıcıları için;

/Users/[Kullanıcı Adı]/Library/Fonts dizinin altında bulabilirsiniz.

Örnek olarak kullandığımız fontumuz Courier New

Courier New font ailesinde bulunan Courier New Regular, Courier New Bold, Courier New Bold Italic ve Courier New Italic ttf dosyalarımız var.

Bu TTF dosyalarımızı /dompdf/lib/fonts dizini altına kopyalayın. (Sunucunuzda bu dizinin yazma izinlerini 707 yapmanız yeterli olacaktır.)

Dönüştüreceğinzi dosyanız için kullandığınız CSS dosyasına aşağıdaki örnekteki gibi tanımlama yapın.

Dikkat: Örnek kullandığımız font “Courier New” bu fontu font-face ile tanımlarken sonuna TR eklememiz gerekiyor. Kullanıcının bilgisayarında “Courier New” font bulunuyor ve türkçe karakter destekli değilse eğer sistemdeki fontu kullanmak isteyecektir, ve sonuç alamayacağız. O sebeple font-face de tanımlama yaparken font-family alanına font adı onuna TR ekliyoruz.

Php ile MySQL veri tabanından güncel veriyi çekerek bir pdf oluşturmak için aşağıdaki kodları kullanmanız gerekiyor.

Yorum satırları ile detaylı bir şekilde açıklamalar yapmaya çalıştım.

Statik bir html dosyasını pdf yapmak istiyorsanız. Aşağıdaki komutu kullanabilirsiniz.

Örnek kodları indirmek ve Demo için

Demo | GitHub

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir