Add-On Grid
Informations
Author:Anthony MasterLicense: FPDF
Description
This extension adds grid support to help with aligning elements while developing reports.The grid can be turned on/off/set for future pages by using the class $grid variable. Either assign a boolean or an integer value (indicating the grid spacing).
Source
<?php
require('fpdf.php');
class PDF_Grid extends FPDF {
var $grid = false;
function DrawGrid()
{
if($this->grid===true){
$spacing = 5;
} else {
$spacing = $this->grid;
}
$this->SetDrawColor(204, 255, 255);
$this->SetLineWidth(0.35);
for($i=0;$i<$this->w;$i+=$spacing){
$this->Line($i, 0, $i, $this->h);
}
for($i=0;$i<$this->h;$i+=$spacing){
$this->Line(0, $i, $this->w, $i);
}
$this->SetDrawColor(0, 0, 0);
$x = $this->GetX();
$y = $this->GetY();
$this->SetFont('Arial', 'I', 8);
$this->SetTextColor(204, 204, 204);
for($i=20;$i<$this->h;$i+=20){
$this->SetXY(1, $i-3);
$this->Write(4, $i);
}
for($i=20;$i<(($this->w)-($this->rMargin)-10);$i+=20){
$this->SetXY($i-1, 1);
$this->Write(4, $i);
}
$this->SetXY($x, $y);
}
function Header()
{
if($this->grid)
$this->DrawGrid();
}
}
?>
Example
<?php
require('grid.php');
$pdf = new PDF_Grid();
// Add page with a grid and default spacing (5mm)
$pdf->grid = true;
$pdf->AddPage();
// Add page with a grid (10mm spacing)
$pdf->grid = 10;
$pdf->AddPage();
// Disable grid
$pdf->grid = false;
$pdf->AddPage();
$pdf->Output();
?>