Grid

Add-On Grid

Informations

Author:Anthony Master
License: 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();
?>
View the result here.

Download

ZIP | TGZ
An Error Occurred:Internal Server Error

Oops! An Error Occurred

The server returned a "500Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.