Konular

PHP ile PDF Dosyalar Oluşturmak

http://www.tcpdf.org adresine gidip download bölümünden PDF yapan TCPDF classını indiriyoruz.

PHP ile PDF Dosyalar Oluşturmak

examples  klasöründe örnek dosyaları incelerseniz eğer nasıl kullanacağınız hakkında bilgi edinebilirsiniz.

Aşağıdaki ilk örneklerden birisi:

 

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
$pdf->setLanguageArray($l);

// ---------------------------------------------------------

// set default font subsetting mode
$pdf->setFontSubsetting(true);

// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('dejavusans', '', 14, '', true);

// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();

// Set some content to print
$html = <<

Welcome to  TCPDF !


This is the first example of TCPDF library.

This text is printed using the writeHTMLCell() method but you can also use: Multicell(), writeHTML(), Write(), Cell() and Text().


Please check the source code documentation and other examples for further information.


TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!


EOD
;

// Print text using writeHTMLCell()
$pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);

// ---------------------------------------------------------

// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$pdf->Output('example_001.pdf', 'I');

//============================================================+
// END OF FILE
//============================================================+
 

 

 Her sayfada yer alan başlık ve her sayfa altındaki alt bilgiyi silmek için:

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING);

// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);

// set header and footer fonts
//$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
//$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
$pdf->setLanguageArray($l);

// ---------------------------------------------------------

// set default font subsetting mode
$pdf->setFontSubsetting(true);

// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('dejavusans', '', 14, '', true);

// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();

// Set some content to print
$html = <<

Welcome to  TCPDF !


This is the first example of TCPDF library.

This text is printed using the writeHTMLCell() method but you can also use: Multicell(), writeHTML(), Write(), Cell() and Text().


Please check the source code documentation and other examples for further information.


TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!


EOD
;

// Print text using writeHTMLCell()
$pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);

// ---------------------------------------------------------

// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$pdf->Output('example_001.pdf', 'I');

//============================================================+
// END OF FILE
//============================================================+
 

 

Türkçe karakter problemi yaşayabilirsiniz bunu engellemek içinse iconv fonksiyonu ile çevirim yapmalısınız ve kullandığınız fontunda elbette türkçe karakter desteklemesi lazım. Bunun için TCPDF içerisindeki fonts klasöründe dejavusans.php adlı bir türkçe karaktter destekleyen font var.

 

// Set some content to print
    $html = iconv("windows-1254", "UTF-8", $HtmlMetnim);

 

Benim yaptığım çalışma:

 

<?php

//010711
//Yonetim Sayfa Guvenligi
include_once("__yonet_oturum.php");
$UyeGuvenlik = new __KlasOturum('YONETIM', $FN);


if (!empty($_GET['kayit_no'])) {

    $get = array(
        'kayit_no' => $_GET['kayit_no']
    );
    $Filitre = array(
        'kayit_no'
    );
    $FN->Filitre($get, $Filitre);

    $_GET['kno'] = $get['kayit_no'];
    include("test_kagit_.php");

    require_once('../tcpdf/config/lang/eng.php');
    require_once('../tcpdf/tcpdf.php');

// create new PDF document
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
    $pdf->SetCreator(PDF_CREATOR);
    $pdf->SetAuthor($_SERVER['HTTP_HOST']);
    $pdf->SetTitle($Snc->sonuc_grup_ad);
    $pdf->SetSubject($Snc->testbaslik);
    $pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
    //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE . ' 001', PDF_HEADER_STRING);
    $pdf->SetHeaderData("", "", $Snc->sonuc_grup_ad, iconv("windows-1254", "UTF-8", $_SERVER['HTTP_HOST'] . ' üzerinde ' . $FN->Tarih($Snc->tar, 3) . ' tarihinde yapılan sınav içerği'));


    // remove default header/footer
    $pdf->setPrintHeader(false);
    //$pdf->setPrintFooter(false);

// set header and footer fonts
//        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins
    $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

//set auto page breaks
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

//set image scale factor
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
    $pdf->setLanguageArray($l);

// ---------------------------------------------------------
// set default font subsetting mode
    $pdf->setFontSubsetting(true);

// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
    $pdf->SetFont('dejavusans', '', 6, '', true);

// Add a page
// This method has several options, check the source code documentation for more information.
    $pdf->AddPage();

// Set some content to print
    $html = iconv("windows-1254", "UTF-8", $TestKagit->TempYaz());

// Print text using writeHTMLCell()
    $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $html, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);

// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
    $DosyaAdi = $FN->DosyaAdiYap($FN->NoktadanSonra(stripslashes($Snc->adsoy), 11) . ' ' . $FN->NoktadanSonra(stripslashes($Snc->sinif), 11) . ' ' . stripslashes($Snc->numara) . ' ' . $Snc->sonuc_grup_ad);

    $pdf->Output($DosyaAdi, 'I');

//============================================================+
// END OF FILE
//============================================================+
}
 

 Kaynaklar :

Yorumunuzu Ekleyin
PHP ile PDF Dosyalar Oluşturmak Yorumları +1 Yorum
  • nirvana82
    1
    nirvana82
    Özeelikle türkçe karakter problemine dair çözüm için çok teşekkürler.
    07 Ekim 2012 18:08:21, Pazar
Php İle Mysql Veritabanından Bilgi Çekme

Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları

128,917 Okunma 7 Yorum 10/03/2008 13:29:33

Mysql_fetch_object, Mysql_fetch_array, Mysql_fetch_row, Mysql_fetch_assoc, Mysql_result

Mysql_fetch_object, mysql_fetch_array, mysql_fetch_row, mysql_fetch_assoc, mysql_result kullanımı...

56,058 Okunma 0 Yorum 10/03/2008 13:36:07

Kurallı İfadeler (regex Engine)

Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşmeleri yerine getirmediğini öğreneceksiniz. Bu da bizim tabir yerindeyse daha az kafa patlatmamızı ve daha az zaman harcamamızı sağlayacaktır.

39,614 Okunma 1 Yorum 14/07/2007 05:23:11

Verileri doğrulamak için PHP ile filtreleme işlemleri

Bazı bölümleri ingilizce bir makaledir.

39,193 Okunma 0 Yorum 27/01/2009 01:05:14 13/06/2015 15:36:19

Nesneye Yönelimli Php

Classlarla ilgili ingilizce bir makale

33,216 Okunma 0 Yorum 06/01/2008 11:24:59

PHP ile PDF dosya oluşturmak

Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak

31,759 Okunma 0 Yorum 06/09/2007 01:22:38

PHP nedir?

HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.

30,868 Okunma 0 Yorum 26/09/2011 14:50:52

$_FILES

Örnek kod ve açıklamalar

30,103 Okunma 4 Yorum 30/12/2007 13:36:25

Utf8 İle Iso-8859-9 Dönüştürmek

Bu işlemde php nin mb_convert_encoding fonksiyonunu kullanıyoruz.

26,884 Okunma 0 Yorum 29/07/2008 23:12:20

Oop - Nesne Yönelimli Programlama

Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri

24,810 Okunma 1 Yorum 06/01/2008 11:26:55

Php ile Oturum Yönetimi (SESSION)

Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.

24,207 Okunma 0 Yorum 22/05/2013 16:29:40 22/05/2013 16:29:55

$_SERVER

$_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazılarını atamayabilir, veyahut burada anlatılacak değerlerin haricinde değerler ekleyebilir

24,079 Okunma 0 Yorum 23/10/2007 00:51:55

Basit Class Yapılarında Kullanılan Kelimeler

New, ::, __construct, __autoload kullanımları

23,907 Okunma 0 Yorum 31/12/2007 11:46:21 09/05/2018 21:05:35

Xampp Kurulumu

Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.

23,860 Okunma 0 Yorum 19/12/2011 10:00:36

Php5 İle Xml Dosya Oluşturmak

İngilizce bir makaledir.

23,851 Okunma 1 Yorum 22/07/2008 01:51:22

Verileri doğrulamak için PHP ile filtreleme işlemleri

Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve üstü sürümlerde bu fonksiyonlara gereksinim azaldı. Çünkü PHP filtreleme fonksiyonları standart oldu.

23,089 Okunma 0 Yorum 02/12/2008 04:19:24

Php İle Excel Dosyası Oluşturmak

Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle ve her satırı da enter karakteri ile bölmekten ibaret. Ama biçimlendirme söz konusu olduğunda, mesela sütunlara bir genişlik vermek, yazıları bold yapmak, bazı hücreleri sayı ya da para tipine çevirmek gibi biçimlendirmelerde bu yöntem işe yaramamakta.

22,714 Okunma 1 Yorum 22/07/2008 01:35:17

$_ENV

22,444 Okunma 0 Yorum 31/12/2007 09:46:00

En iyi 25 php template motoru

Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için tema sistemleri geliştirebilirsiniz. Tema sistemi ya da motorlarının asıl amacı, php kodları ile html kodlarını birbirinden ayırmaktır. Böylece hangi kod üzerinde değişiklik yapmanız gerekiyorsa, kendisine ait dosyalarını açarak bu işlemi gerçekleştirebilirsiniz

22,305 Okunma 0 Yorum 16/02/2008 01:35:10

Php Mysql to XML

Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.

21,956 Okunma 0 Yorum 05/10/2008 01:56:47

Dizi Tanımlamaları

PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür

21,882 Okunma 0 Yorum 23/10/2007 00:36:18

Harici Dosya İnclude

İnclude kullanımı ve örnekler

21,650 Okunma 0 Yorum 14/04/2008 01:42:12

Mysql İle Veritabanı Bağlantı Fonksiyonları

Mysql_result, mysql_fetch_array, mysql_fetch_row, mysql_fetch_object

21,623 Okunma 0 Yorum 10/03/2008 12:33:05

Windows Üzerine Apache Mysql PHP Kurulumu (WAMP)

Apache – Php – Mysql – Phpmyadmin Dörtlüsünün Kurulumu Hakkında

21,507 Okunma 0 Yorum 08/10/2007 15:03:13

Curl(client Url Library Functions) Nedir?

Curl ile kullanıcı kontrolü nasıl yapılır?

20,316 Okunma 0 Yorum 05/05/2008 01:25:12 17/04/2017 12:54:39

$_REQUEST

$_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu değişken bir superglobal olduğu için tüm alanlarda (scope) geçerlidir ve bundan dolayıdır ki global $_REQUEST ; şeklinde bir tanımlamaya ihtiyaç duymaz. Eğer register_globals değişkeni php. İni de ayarlanmışsa bu değişken her yerde (Global Scope) kullanılabilir

20,045 Okunma 0 Yorum 24/12/2007 00:16:58

FCK Editörrün Siteye eklenmesi

Fck Editörün kendi Sitemize eklenmesi

19,742 Okunma 1 Yorum 15/12/2007 15:50:46

Classlarda Kullanılan Özel Kelimeler

Public, private, protected, extends, _construct

19,107 Okunma 0 Yorum 09/05/2018 18:04:20 09/05/2018 21:11:24

if Kullanımı

18,648 Okunma 0 Yorum 09/04/2012 10:31:35 20/09/2014 18:01:36

Php Regular Expression

İngilizce bir makaledir.

18,378 Okunma 0 Yorum 27/03/2008 13:38:11

Yükleniyor...