ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
example_013.php
Go to the documentation of this file.
1 <?php
2 //============================================================+
3 // File name : example_013.php
4 // Begin : 2008-03-04
5 // Last Update : 2013-05-14
6 //
7 // Description : Example 013 for TCPDF class
8 // Graphic Transformations
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 
27 // Include the main TCPDF library (search for installation path).
28 require_once('tcpdf_include.php');
29 
30 // create new PDF document
31 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
32 
33 // set document information
34 $pdf->SetCreator(PDF_CREATOR);
35 $pdf->SetAuthor('Nicola Asuni');
36 $pdf->SetTitle('TCPDF Example 013');
37 $pdf->SetSubject('TCPDF Tutorial');
38 $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
39 
40 // set default header data
42 
43 // set header and footer fonts
44 $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
45 $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
46 
47 // set default monospaced font
48 $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
49 
50 // set margins
52 $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
53 $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
54 
55 // set auto page breaks
56 $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
57 
58 // set image scale factor
59 $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
60 
61 // set some language-dependent strings (optional)
62 if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
63  require_once(dirname(__FILE__).'/lang/eng.php');
64  $pdf->setLanguageArray($l);
65 }
66 
67 // ---------------------------------------------------------
68 
69 // set font
70 $pdf->SetFont('helvetica', 'B', 20);
71 
72 // add a page
73 $pdf->AddPage();
74 
75 $pdf->Write(0, 'Graphic Transformations', '', 0, 'C', 1, 0, false, false, 0);
76 
77 // set font
78 $pdf->SetFont('helvetica', '', 10);
79 
80 // --- Scaling ---------------------------------------------
81 $pdf->SetDrawColor(200);
82 $pdf->SetTextColor(200);
83 $pdf->Rect(50, 70, 40, 10, 'D');
84 $pdf->Text(50, 66, 'Scale');
85 $pdf->SetDrawColor(0);
86 $pdf->SetTextColor(0);
87 // Start Transformation
88 $pdf->StartTransform();
89 // Scale by 150% centered by (50,80) which is the lower left corner of the rectangle
90 $pdf->ScaleXY(150, 50, 80);
91 $pdf->Rect(50, 70, 40, 10, 'D');
92 $pdf->Text(50, 66, 'Scale');
93 // Stop Transformation
94 $pdf->StopTransform();
95 
96 // --- Translation -----------------------------------------
97 $pdf->SetDrawColor(200);
98 $pdf->SetTextColor(200);
99 $pdf->Rect(125, 70, 40, 10, 'D');
100 $pdf->Text(125, 66, 'Translate');
101 $pdf->SetDrawColor(0);
102 $pdf->SetTextColor(0);
103 // Start Transformation
104 $pdf->StartTransform();
105 // Translate 7 to the right, 5 to the bottom
106 $pdf->Translate(7, 5);
107 $pdf->Rect(125, 70, 40, 10, 'D');
108 $pdf->Text(125, 66, 'Translate');
109 // Stop Transformation
110 $pdf->StopTransform();
111 
112 // --- Rotation --------------------------------------------
113 $pdf->SetDrawColor(200);
114 $pdf->SetTextColor(200);
115 $pdf->Rect(70, 100, 40, 10, 'D');
116 $pdf->Text(70, 96, 'Rotate');
117 $pdf->SetDrawColor(0);
118 $pdf->SetTextColor(0);
119 // Start Transformation
120 $pdf->StartTransform();
121 // Rotate 20 degrees counter-clockwise centered by (70,110) which is the lower left corner of the rectangle
122 $pdf->Rotate(20, 70, 110);
123 $pdf->Rect(70, 100, 40, 10, 'D');
124 $pdf->Text(70, 96, 'Rotate');
125 // Stop Transformation
126 $pdf->StopTransform();
127 
128 // --- Skewing ---------------------------------------------
129 $pdf->SetDrawColor(200);
130 $pdf->SetTextColor(200);
131 $pdf->Rect(125, 100, 40, 10, 'D');
132 $pdf->Text(125, 96, 'Skew');
133 $pdf->SetDrawColor(0);
134 $pdf->SetTextColor(0);
135 // Start Transformation
136 $pdf->StartTransform();
137 // skew 30 degrees along the x-axis centered by (125,110) which is the lower left corner of the rectangle
138 $pdf->SkewX(30, 125, 110);
139 $pdf->Rect(125, 100, 40, 10, 'D');
140 $pdf->Text(125, 96, 'Skew');
141 // Stop Transformation
142 $pdf->StopTransform();
143 
144 // --- Mirroring horizontally ------------------------------
145 $pdf->SetDrawColor(200);
146 $pdf->SetTextColor(200);
147 $pdf->Rect(70, 130, 40, 10, 'D');
148 $pdf->Text(70, 126, 'MirrorH');
149 $pdf->SetDrawColor(0);
150 $pdf->SetTextColor(0);
151 // Start Transformation
152 $pdf->StartTransform();
153 // mirror horizontally with axis of reflection at x-position 70 (left side of the rectangle)
154 $pdf->MirrorH(70);
155 $pdf->Rect(70, 130, 40, 10, 'D');
156 $pdf->Text(70, 126, 'MirrorH');
157 // Stop Transformation
158 $pdf->StopTransform();
159 
160 // --- Mirroring vertically --------------------------------
161 $pdf->SetDrawColor(200);
162 $pdf->SetTextColor(200);
163 $pdf->Rect(125, 130, 40, 10, 'D');
164 $pdf->Text(125, 126, 'MirrorV');
165 $pdf->SetDrawColor(0);
166 $pdf->SetTextColor(0);
167 // Start Transformation
168 $pdf->StartTransform();
169 // mirror vertically with axis of reflection at y-position 140 (bottom side of the rectangle)
170 $pdf->MirrorV(140);
171 $pdf->Rect(125, 130, 40, 10, 'D');
172 $pdf->Text(125, 126, 'MirrorV');
173 // Stop Transformation
174 $pdf->StopTransform();
175 
176 // --- Point reflection ------------------------------------
177 $pdf->SetDrawColor(200);
178 $pdf->SetTextColor(200);
179 $pdf->Rect(70, 160, 40, 10, 'D');
180 $pdf->Text(70, 156, 'MirrorP');
181 $pdf->SetDrawColor(0);
182 $pdf->SetTextColor(0);
183 // Start Transformation
184 $pdf->StartTransform();
185 // point reflection at the lower left point of rectangle
186 $pdf->MirrorP(70,170);
187 $pdf->Rect(70, 160, 40, 10, 'D');
188 $pdf->Text(70, 156, 'MirrorP');
189 // Stop Transformation
190 $pdf->StopTransform();
191 
192 // --- Mirroring against a straigth line described by a point (120, 120) and an angle -20°
193 $angle=-20;
194 $px=120;
195 $py=170;
196 
197 // just for visualisation: the straight line to mirror against
198 
199 $pdf->SetDrawColor(200);
200 $pdf->Line($px-1,$py-1,$px+1,$py+1);
201 $pdf->Line($px-1,$py+1,$px+1,$py-1);
202 $pdf->StartTransform();
203 $pdf->Rotate($angle, $px, $py);
204 $pdf->Line($px-5, $py, $px+60, $py);
205 $pdf->StopTransform();
206 
207 $pdf->SetDrawColor(200);
208 $pdf->SetTextColor(200);
209 $pdf->Rect(125, 160, 40, 10, 'D');
210 $pdf->Text(125, 156, 'MirrorL');
211 $pdf->SetDrawColor(0);
212 $pdf->SetTextColor(0);
213 //Start Transformation
214 $pdf->StartTransform();
215 //mirror against the straight line
216 $pdf->MirrorL($angle, $px, $py);
217 $pdf->Rect(125, 160, 40, 10, 'D');
218 $pdf->Text(125, 156, 'MirrorL');
219 //Stop Transformation
220 $pdf->StopTransform();
221 
222 // ---------------------------------------------------------
223 
224 //Close and output PDF document
225 $pdf->Output('example_013.pdf', 'I');
226 
227 //============================================================+
228 // END OF FILE
229 //============================================================+
const PDF_MARGIN_BOTTOM
Bottom margin.
const PDF_MARGIN_LEFT
Left margin.
const PDF_MARGIN_HEADER
Header margin.
$px
$pdf
Definition: example_013.php:31
const PDF_HEADER_STRING
Header description string.
const PDF_FONT_SIZE_MAIN
Default main font size.
const PDF_FONT_SIZE_DATA
Default data font size.
const PDF_FONT_NAME_MAIN
Default main font name.
$angle
PHP class for generating PDF documents without requiring external extensions.
Definition: tcpdf.php:134
const PDF_HEADER_LOGO_WIDTH
Header logo image width in user units.
const PDF_HEADER_LOGO
Deafult image logo used be the default Header() method.
const PDF_UNIT
Document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch].
const PDF_IMAGE_SCALE_RATIO
Ratio used to adjust the conversion of pixels to user units.
$py
const PDF_PAGE_ORIENTATION
Page orientation (P=portrait, L=landscape).
const PDF_MARGIN_RIGHT
Right margin.
const PDF_HEADER_TITLE
Header title.
global $l
Definition: afr.php:30
const PDF_FONT_NAME_DATA
Default data font name.
const PDF_CREATOR
Document creator.
const PDF_PAGE_FORMAT
Page format.
const PDF_FONT_MONOSPACED
Default monospaced font name.
const PDF_MARGIN_TOP
Top margin.
const PDF_MARGIN_FOOTER
Footer margin.