summaryrefslogtreecommitdiff
path: root/pdf/fpdf/tutorial/tuto4.php
diff options
context:
space:
mode:
authorSashi202021-08-10 16:25:28 +0530
committerGitHub2021-08-10 16:25:28 +0530
commite549abedacf81fecdaf7fe5c2dff95b4fb437cae (patch)
treee99fa42cd83b454c53501a9539970460c27bd156 /pdf/fpdf/tutorial/tuto4.php
parent21cfc2425884841b69969a6cddccd5201f053808 (diff)
parent2ea5fde67291c53e48cdd081d4e572defcf6a4cf (diff)
downloadesim_lab_migration-e549abedacf81fecdaf7fe5c2dff95b4fb437cae.tar.gz
esim_lab_migration-e549abedacf81fecdaf7fe5c2dff95b4fb437cae.tar.bz2
esim_lab_migration-e549abedacf81fecdaf7fe5c2dff95b4fb437cae.zip
Merge pull request #1 from Saketh1499/developement
Certificate generation
Diffstat (limited to 'pdf/fpdf/tutorial/tuto4.php')
-rwxr-xr-xpdf/fpdf/tutorial/tuto4.php109
1 files changed, 109 insertions, 0 deletions
diff --git a/pdf/fpdf/tutorial/tuto4.php b/pdf/fpdf/tutorial/tuto4.php
new file mode 100755
index 0000000..f5f4fa8
--- /dev/null
+++ b/pdf/fpdf/tutorial/tuto4.php
@@ -0,0 +1,109 @@
+<?php
+require('../fpdf.php');
+
+class PDF extends FPDF
+{
+protected $col = 0; // Current column
+protected $y0; // Ordinate of column start
+
+function Header()
+{
+ // Page header
+ global $title;
+
+ $this->SetFont('Arial','B',15);
+ $w = $this->GetStringWidth($title)+6;
+ $this->SetX((210-$w)/2);
+ $this->SetDrawColor(0,80,180);
+ $this->SetFillColor(230,230,0);
+ $this->SetTextColor(220,50,50);
+ $this->SetLineWidth(1);
+ $this->Cell($w,9,$title,1,1,'C',true);
+ $this->Ln(10);
+ // Save ordinate
+ $this->y0 = $this->GetY();
+}
+
+function Footer()
+{
+ // Page footer
+ $this->SetY(-15);
+ $this->SetFont('Arial','I',8);
+ $this->SetTextColor(128);
+ $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
+}
+
+function SetCol($col)
+{
+ // Set position at a given column
+ $this->col = $col;
+ $x = 10+$col*65;
+ $this->SetLeftMargin($x);
+ $this->SetX($x);
+}
+
+function AcceptPageBreak()
+{
+ // Method accepting or not automatic page break
+ if($this->col<2)
+ {
+ // Go to next column
+ $this->SetCol($this->col+1);
+ // Set ordinate to top
+ $this->SetY($this->y0);
+ // Keep on page
+ return false;
+ }
+ else
+ {
+ // Go back to first column
+ $this->SetCol(0);
+ // Page break
+ return true;
+ }
+}
+
+function ChapterTitle($num, $label)
+{
+ // Title
+ $this->SetFont('Arial','',12);
+ $this->SetFillColor(200,220,255);
+ $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
+ $this->Ln(4);
+ // Save ordinate
+ $this->y0 = $this->GetY();
+}
+
+function ChapterBody($file)
+{
+ // Read text file
+ $txt = file_get_contents($file);
+ // Font
+ $this->SetFont('Times','',12);
+ // Output text in a 6 cm width column
+ $this->MultiCell(60,5,$txt);
+ $this->Ln();
+ // Mention
+ $this->SetFont('','I');
+ $this->Cell(0,5,'(end of excerpt)');
+ // Go back to first column
+ $this->SetCol(0);
+}
+
+function PrintChapter($num, $title, $file)
+{
+ // Add chapter
+ $this->AddPage();
+ $this->ChapterTitle($num,$title);
+ $this->ChapterBody($file);
+}
+}
+
+$pdf = new PDF();
+$title = '20000 Leagues Under the Seas';
+$pdf->SetTitle($title);
+$pdf->SetAuthor('Jules Verne');
+$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
+$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
+$pdf->Output();
+?>