1<?php
2//============================================================+
3// File name   : example_003.php
4// Begin       : 2008-03-04
5// Last Update : 2013-05-14
6//
7// Description : Example 003 for TCPDF class
8//               Custom Header and Footer
9//
10// Author: Nicola Asuni
11//
12// (c) Copyright:
13//               Nicola Asuni
14//               Tecnick.com LTD
15//               www.tecnick.com
16//               info@tecnick.com
17//============================================================+
18
19/**
20 * Creates an example PDF TEST document using TCPDF
21 * @package com.tecnick.tcpdf
22 * @abstract TCPDF - Example: Custom Header and Footer
23 * @author Nicola Asuni
24 * @since 2008-03-04
25 */
26
27// Include the main TCPDF library (search for installation path).
28require_once('tcpdf_include.php');
29
30
31// Extend the TCPDF class to create custom Header and Footer
32class MYPDF extends TCPDF {
33
34	//Page header
35	public function Header() {
36		// Logo
37		$image_file = K_PATH_IMAGES.'logo_example.jpg';
38		$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
39		// Set font
40		$this->SetFont('helvetica', 'B', 20);
41		// Title
42		$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
43	}
44
45	// Page footer
46	public function Footer() {
47		// Position at 15 mm from bottom
48		$this->SetY(-15);
49		// Set font
50		$this->SetFont('helvetica', 'I', 8);
51		// Page number
52		$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
53	}
54}
55
56// create new PDF document
57$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
58
59// set document information
60$pdf->SetCreator(PDF_CREATOR);
61$pdf->SetAuthor('Nicola Asuni');
62$pdf->SetTitle('TCPDF Example 003');
63$pdf->SetSubject('TCPDF Tutorial');
64$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
65
66// set default header data
67$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
68
69// set header and footer fonts
70$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
71$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
72
73// set default monospaced font
74$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
75
76// set margins
77$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
78$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
79$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
80
81// set auto page breaks
82$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
83
84// set image scale factor
85$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
86
87// set some language-dependent strings (optional)
88if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
89	require_once(dirname(__FILE__).'/lang/eng.php');
90	$pdf->setLanguageArray($l);
91}
92
93// ---------------------------------------------------------
94
95// set font
96$pdf->SetFont('times', 'BI', 12);
97
98// add a page
99$pdf->AddPage();
100
101// set some text to print
102$txt = <<<EOD
103TCPDF Example 003
104
105Custom page header and footer are defined by extending the TCPDF class and overriding the Header() and Footer() methods.
106EOD;
107
108// print a block of text using Write()
109$pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0);
110
111// ---------------------------------------------------------
112
113//Close and output PDF document
114$pdf->Output('example_003.pdf', 'I');
115
116//============================================================+
117// END OF FILE
118//============================================================+
119