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


PDF Converter

Bugün ajansda ufak bir portföy yazılımız için bu tür bir yazılım gerekti. Daha önce php de pdf ile çalışmadığım için biraz php.net ve fpdf class yapılarını inceledim ama tam olarak istediğim pozisyonda işlev olarak stabil değildi çünkü sanıyorum tek başına php yetersiz kalıyordu bu işlem için. Bundan mütevellit online sağlayan siteleri incelemeye başladım. Genelde 90% hepsinde pdf dosyasında imza bıraktığını gördüm. Bu da ne yazık ki işime gelmiyordu. Sonra bir website buldum. O site de reklam yoktu. Bende ufak bir class oluşturdum kendim için. Yapmak istediğim oluşturduğum bir sayfayı pdf olarak kaydetmeseydi. Böylece bu sorunu da böyle aşmış oldum.
<?php
# slcQ
# [email protected]
# s3lcuk.com
class sPDF
{
        private $pdf_kaynak = 'http://www.impdf.com/getpdf.asp';
		
		public function kaynakAL($URL) {
			$c = curl_init();
			curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 0);
			curl_setopt($c, CURLOPT_TIMEOUT, 0);
			curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);
			curl_setopt($c, CURLOPT_POST, 1);
			curl_setopt($c, CURLOPT_POSTFIELDS, "url=$URL");
			curl_setopt($c, CURLOPT_REFERER , 'http://www.impdf.com/');
			curl_setopt($c, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
			curl_setopt($c, CURLOPT_URL, $this->pdf_kaynak);
			$contents = curl_exec($c);
			
			$err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
			curl_close($c);
			
			$cut = explode('HREF="', $contents);
			$cut = explode('"', $cut[1]);
			
			if ($cut[0]) return "http://www.impdf.com/$cut[0]";
				else return FALSE;
		}   
        public function save($url, $dosya)
        {
                $ch = curl_init();
                curl_setopt($ch,CURLOPT_URL, $this->kaynakAL($url));
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
                curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
                $selco = curl_exec($ch);
                curl_close($ch);
                file_put_contents("$dosya.pdf", $selco);
        }
}
?>
Örnek kullanımı ise şöyle tabi ki sınıfımı dahil edip kullanıyoruz.
<?php
$selco = new sPDF;
$selco->save('http://google.com', 'google'); 
?>



Yazı Hakkında Yorumlar