root / evote / costastest / fpdf / tutorial / tuto3.php @ f52a1778
History | View | Annotate | Download (1.6 kB)
1 | f52a1778 | Giorgos Kalpakas | <?php
|
---|---|---|---|
2 | f52a1778 | Giorgos Kalpakas | require('../fpdf.php'); |
3 | f52a1778 | Giorgos Kalpakas | |
4 | f52a1778 | Giorgos Kalpakas | class PDF extends FPDF |
5 | f52a1778 | Giorgos Kalpakas | { |
6 | f52a1778 | Giorgos Kalpakas | function Header() |
7 | f52a1778 | Giorgos Kalpakas | { |
8 | f52a1778 | Giorgos Kalpakas | global $title; |
9 | f52a1778 | Giorgos Kalpakas | |
10 | f52a1778 | Giorgos Kalpakas | // Arial bold 15
|
11 | f52a1778 | Giorgos Kalpakas | $this->SetFont('Arial','B',15); |
12 | f52a1778 | Giorgos Kalpakas | // Calculate width of title and position
|
13 | f52a1778 | Giorgos Kalpakas | $w = $this->GetStringWidth($title)+6; |
14 | f52a1778 | Giorgos Kalpakas | $this->SetX((210-$w)/2); |
15 | f52a1778 | Giorgos Kalpakas | // Colors of frame, background and text
|
16 | f52a1778 | Giorgos Kalpakas | $this->SetDrawColor(0,80,180); |
17 | f52a1778 | Giorgos Kalpakas | $this->SetFillColor(230,230,0); |
18 | f52a1778 | Giorgos Kalpakas | $this->SetTextColor(220,50,50); |
19 | f52a1778 | Giorgos Kalpakas | // Thickness of frame (1 mm)
|
20 | f52a1778 | Giorgos Kalpakas | $this->SetLineWidth(1); |
21 | f52a1778 | Giorgos Kalpakas | // Title
|
22 | f52a1778 | Giorgos Kalpakas | $this->Cell($w,9,$title,1,1,'C',true); |
23 | f52a1778 | Giorgos Kalpakas | // Line break
|
24 | f52a1778 | Giorgos Kalpakas | $this->Ln(10); |
25 | f52a1778 | Giorgos Kalpakas | } |
26 | f52a1778 | Giorgos Kalpakas | |
27 | f52a1778 | Giorgos Kalpakas | function Footer() |
28 | f52a1778 | Giorgos Kalpakas | { |
29 | f52a1778 | Giorgos Kalpakas | // Position at 1.5 cm from bottom
|
30 | f52a1778 | Giorgos Kalpakas | $this->SetY(-15); |
31 | f52a1778 | Giorgos Kalpakas | // Arial italic 8
|
32 | f52a1778 | Giorgos Kalpakas | $this->SetFont('Arial','I',8); |
33 | f52a1778 | Giorgos Kalpakas | // Text color in gray
|
34 | f52a1778 | Giorgos Kalpakas | $this->SetTextColor(128); |
35 | f52a1778 | Giorgos Kalpakas | // Page number
|
36 | f52a1778 | Giorgos Kalpakas | $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); |
37 | f52a1778 | Giorgos Kalpakas | } |
38 | f52a1778 | Giorgos Kalpakas | |
39 | f52a1778 | Giorgos Kalpakas | function ChapterTitle($num, $label) |
40 | f52a1778 | Giorgos Kalpakas | { |
41 | f52a1778 | Giorgos Kalpakas | // Arial 12
|
42 | f52a1778 | Giorgos Kalpakas | $this->SetFont('Arial','',12); |
43 | f52a1778 | Giorgos Kalpakas | // Background color
|
44 | f52a1778 | Giorgos Kalpakas | $this->SetFillColor(200,220,255); |
45 | f52a1778 | Giorgos Kalpakas | // Title
|
46 | f52a1778 | Giorgos Kalpakas | $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true); |
47 | f52a1778 | Giorgos Kalpakas | // Line break
|
48 | f52a1778 | Giorgos Kalpakas | $this->Ln(4); |
49 | f52a1778 | Giorgos Kalpakas | } |
50 | f52a1778 | Giorgos Kalpakas | |
51 | f52a1778 | Giorgos Kalpakas | function ChapterBody($file) |
52 | f52a1778 | Giorgos Kalpakas | { |
53 | f52a1778 | Giorgos Kalpakas | // Read text file
|
54 | f52a1778 | Giorgos Kalpakas | $txt = file_get_contents($file); |
55 | f52a1778 | Giorgos Kalpakas | // Times 12
|
56 | f52a1778 | Giorgos Kalpakas | $this->SetFont('Times','',12); |
57 | f52a1778 | Giorgos Kalpakas | // Output justified text
|
58 | f52a1778 | Giorgos Kalpakas | $this->MultiCell(0,5,$txt); |
59 | f52a1778 | Giorgos Kalpakas | // Line break
|
60 | f52a1778 | Giorgos Kalpakas | $this->Ln(); |
61 | f52a1778 | Giorgos Kalpakas | // Mention in italics
|
62 | f52a1778 | Giorgos Kalpakas | $this->SetFont('','I'); |
63 | f52a1778 | Giorgos Kalpakas | $this->Cell(0,5,'(end of excerpt)'); |
64 | f52a1778 | Giorgos Kalpakas | } |
65 | f52a1778 | Giorgos Kalpakas | |
66 | f52a1778 | Giorgos Kalpakas | function PrintChapter($num, $title, $file) |
67 | f52a1778 | Giorgos Kalpakas | { |
68 | f52a1778 | Giorgos Kalpakas | $this->AddPage(); |
69 | f52a1778 | Giorgos Kalpakas | $this->ChapterTitle($num,$title); |
70 | f52a1778 | Giorgos Kalpakas | $this->ChapterBody($file); |
71 | f52a1778 | Giorgos Kalpakas | } |
72 | f52a1778 | Giorgos Kalpakas | } |
73 | f52a1778 | Giorgos Kalpakas | |
74 | f52a1778 | Giorgos Kalpakas | $pdf = new PDF(); |
75 | f52a1778 | Giorgos Kalpakas | $title = '20000 Leagues Under the Seas'; |
76 | f52a1778 | Giorgos Kalpakas | $pdf->SetTitle($title); |
77 | f52a1778 | Giorgos Kalpakas | $pdf->SetAuthor('Jules Verne'); |
78 | f52a1778 | Giorgos Kalpakas | $pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt'); |
79 | f52a1778 | Giorgos Kalpakas | $pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt'); |
80 | f52a1778 | Giorgos Kalpakas | $pdf->Output(); |
81 | f52a1778 | Giorgos Kalpakas | ?> |