Selco Cod
Selco Cod

Yazılım ve güvenlik üzerine makaleler yazan günümüz teknolojisini yakından takip eden sıradan birisi...

Twitter


HTML Dosyayı MPDF Kütüphanesi ile PDF Çevirme

PHP de bir çok uygulama ile PDF dosyalar oluşturabilmekteyiz. Ben kişisel olarak bir çok pdf sınıfı kullandım ama size bugün tanıtacağım mpdf bana göre sınıfının en iyisidir çünkü ilk olarak diğer sınıflar gibi harici kütüphane kullanmaz, kullandığı tüm araçlar kendi bünyesinde mevcuttur. Ve diğer en önemli özelliği ise de CSS iyi ayrıştırmasıdır, bu sayede oluşan pdf dosyalar orjinaline çok yakın olmaktadır. Ben bu kütüphaneyi blogumda en altta yazdığı gibi yazılarımı PDF olarak indirmek isteyenler için çevirici olarak kullandım ama bugün daha çok HTML den PDF formatına çevirme üstünde duracağız.

Bu Kütüphane ile Neler Yapabiliriz?

Fatura, makbuz, kimlik kartı ve hatta barkod yapılabilirsiniz. HTML bir sayfayı PDF formatına çevirebilirsiniz.

HTML yi PDF Formatına Çevirelim

İlk olarak şu adresden mpdf en güncel ve stabil versiyonunu indirip var ise güncelleme dosyalarını da indirip update ediyoruz. Bunu mecburen yapmalıyız çünkü ilk full installion dosyalarını indirdiğimde bende çalışmamıştı. Ben bunun için size ufak bir hazırladım. Bunun sayesinde basit bir htmli pdf e rahatlıkla çevirebileceğiz.
function _htmlToPdf($html, $css = NULL, $filename = NULL, $page = 'A4')
{
	# mPDF default olarak UTF-8 ayarlıdır fakat türkçe karekter desteklemesi için ilk parametresi "tr" olmalıdır
	$mpdf = new mPDF('tr','A4','','' , 0 , 0 , 0 , 0 , 0 , 0); 
	$mpdf->SetDisplayMode('fullpage');
	if ( !empty($css) )
	{
		$css = file_get_contents($css);
		$pdf->WriteHTML($css, 1);
		# Parametre 1 olursa bu CSS demektir
	}
	$mpdf->WriteHTML($html);
	(!empty($filename)) ? $mpdf->Output($filename, 'I') : $mpdf->Output(uniqid(), 'I');
	# Output I değeri mümkünse online görüntüle seçeneğidir diğer türlü otomatik indirmektedir.
	# Direkt indirmek isterseniz "I" değerini "D" olarak değiştirin.
}
Ben örnek olarak bir fatura sayfasıda size convert ettim görmeniz açısından. HTML Invoice: http://selcuk.in/samples/mpdf/invoice.html PDF Invoice: http://selcuk.in/samples/mpdf/invoice.pdf Daha fazla bilgi ve dökümasyon hakkında http://mpdf1.com/manual/index.php destek sitesine göz atabilirsiniz.

Oluşabilecek Muhtemel Hatalar

Çok fazla hata çıkmıyor fakat eğer sunucuya yüklediğinizde dosyaları 500 Internal Server Error hatası alır iseniz vereceğim şu komutu kendinize göre düzenleyip çalıştırın. Bu hata genel de cPanel kullanan hostlarda olmaktadır.
chown -R FTP_USER_NAME:FTP_USER_NAME /home/FTP_USER_NAME/public_html/



Yazı Hakkında Yorumlar