Top
Home

Add Header and Footer

class PDF extends FPDF
{
// Page header
function Header()
{
   // Logo
   $this->Image('logo.png',10,6,30);
   // Arial bold 15
   $this->SetFont('Arial','B',15);
   // Move to the right
   $this->Cell(80);
   // Title
   $this->Cell(30,10,'Title',1,0,'C');
   // Line break
   $this->Ln(20);
}

// Page footer
function Footer()
{
   // Position at 1.5 cm from bottom
   $this->SetY(-15);
   // Arial italic 8
   $this->SetFont('Arial','I',8);
   // Page number
   $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

Add an Image

$pdf->Image('yourImage.jpg',0,0,210);

Change font Color

$pdf->SetTextColor('250','20','105');

Creat Multi-line Cell

$pdf->MultiCell(95,5,"$Field01",0);

Cell with Variable

$pdf->Cell(95,10,"$Field01",0);

Heading, Footer, Chapter Title, External Text Files

<?php
require('fpdf.php');

class PDF extends FPDF
{
function Header()
{
   global $title;

   // Arial bold 15
   $this->SetFont('Arial','B',15);
   // Calculate width of title and position
   $w = $this->GetStringWidth($title)+6;
   $this->SetX((210-$w)/2);
   // Colors of frame, background and text
   $this->SetDrawColor(0,80,180);
   $this->SetFillColor(230,230,0);
   $this->SetTextColor(220,50,50);
   // Thickness of frame (1 mm)
   $this->SetLineWidth(1);
   // Title
   $this->Cell($w,9,$title,1,1,'C',true);
   // Line break
   $this->Ln(10);
}

function Footer()
{
   // Position at 1.5 cm from bottom
   $this->SetY(-15);
   // Arial italic 8
   $this->SetFont('Arial','I',8);
   // Text color in gray
   $this->SetTextColor(128);
   // Page number
   $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}

function ChapterTitle($num, $label)
{
   // Arial 12
   $this->SetFont('Arial','',12);
   // Background color
   $this->SetFillColor(200,220,255);
   // Title
   $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
   // Line break
   $this->Ln(4);
}

function ChapterBody($file)
{
   // Read text file
   $txt = file_get_contents($file);
   // Times 12
   $this->SetFont('Times','',12);
   // Output justified text
   $this->MultiCell(0,5,$txt);
   // Line break
   $this->Ln();
   // Mention in italics
   $this->SetFont('','I');
}

function PrintChapter($num, $title, $file)
{
   $this->AddPage();
   $this->ChapterTitle($num,$title);
   $this->ChapterBody($file);
}
}

$pdf = new PDF();
$title = 'Gary\'s Creation';
$pdf->SetTitle($title);
$pdf->SetAuthor('Jules Verne');
$pdf->PrintChapter(1,'A RUNAWAY REEF','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->PrintChapter(3,'That Too','Mytext.txt');
$pdf->Output();
?>

Heading, Footer, Chapter Title, External Text Files, Multiple Columns

<?php
require('fpdf.php');

class PDF extends FPDF
{
// Current column
var $col = 0;
// Ordinate of column start
var $y0;

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','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','Mytext.txt');
$pdf->Output();
?>