0% found this document useful (0 votes)
352 views9 pages

Adding Font Colour by Settextcolor

This document discusses various methods for formatting text in PDFs generated with FPDF, including: 1. Setting font color and cell fill color using SetTextColor() and SetFillColor(); 2. Using MultiCell() to wrap text across multiple lines within a cell, as opposed to Cell() which allows text to flow outside the cell; 3. Controlling text alignment, fill, and positioning with MultiCell().
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
352 views9 pages

Adding Font Colour by Settextcolor

This document discusses various methods for formatting text in PDFs generated with FPDF, including: 1. Setting font color and cell fill color using SetTextColor() and SetFillColor(); 2. Using MultiCell() to wrap text across multiple lines within a cell, as opposed to Cell() which allows text to flow outside the cell; 3. Controlling text alignment, fill, and positioning with MultiCell().
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 9

Adding font colour by SetTextColor()

<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->SetFillColor(1,99,255); // input R ,G , B
$pdf->SetTextColor(255,254,254);// input R , G , B
$pdf->Cell(80,10,'Hello World!',1,0,C,true,'https://www.plus2net.com');
$pdf->Output('my_file.pdf','I'); // Send to browser and display
?>
Saving the PDF file
We used $pdf->Output('my_file','D'); to get output directly. This line will force
download to user machine as pdf file my_file.pdf. We can change this output to save the file
in local ( server ) side machine.
$pdf->Output('my_file.pdf','I'); // Send to browser and display
$pdf->Output('my_file.pdf','D'); // Force file download with name given
( name can be changed )
$pdf->Output('my_file.pdf','F'); // Saved in local computer with the file
name given
$pdf->Output('my_file.pdf','S'); // Return the document as a string.

MultiCell to display text with line breaks


Syntax of MultiCell with different options to print the string with line breaks.

Text string wrap into next line after reaching the border of the MultiCell. In case of Cell the text
crosses and flows out of the Cell border. MultiCell is used when we are not sure about the length of
the string to display.

Read More on Cell

Here is the code to display difference between MultiCell and Cel


?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->SetX(50); // abscissa or Horizontal position
$pdf->Cell(60,10,'This is Cell - Welcome to plus2net.com',1,1,L,false);
$pdf->Ln(40); // Line gap
$pdf->SetX(50); // abscissa of Horizontal position
$pdf->MultiCell(60,10,'This is MultiCell - Welcome to
plus2net.com',LRTB,L,false);
$pdf->Output('my_file.pdf','I'); // send to browser and display
?>

MultiCell Text Alignment


L: left
C: center
R: right
J: justification (default value is J)
<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);

$pdf->SetX(50); // abscissa of Horizontal position


$pdf->MultiCell(100,10,'Alignment = L',1,L,false);

$pdf->Ln(20); // Line gap


$pdf->SetX(50); // abscissa of Horizontal position
$pdf->MultiCell(100,10,'Alignment = R',1,R,false);

$pdf->Ln(20);
$pdf->SetX(50);
$pdf->MultiCell(100,10,'Alignment = C',1,C,false);

$pdf->Ln(20);
$pdf->SetX(50);
$pdf->MultiCell(100,10,'Demo About MultiCell Alignment = J',1,J,false);

$pdf->Output('my_file.pdf','I'); // send to browser and display


?>
MultiCell and fill
We can fill the MultiCell by using background colour ( value = true ) or keep it transparent
( value= false ) . Default value is false.
<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);

$pdf->SetX(50);
$pdf->MultiCell(100,10,'SetFillColor is not set, value =false',1,J,false);

$pdf->SetFillColor(1,255,255);
$pdf->Ln(20);
$pdf->SetX(50); // abscissa of Horizontal position
$pdf->MultiCell(100,10,'$pdf->SetFillColor(1,255,255);',1,C,true);

$pdf->SetFillColor(255,255,1);
$pdf->Ln(20); // Line gap
$pdf->SetX(50); // abscissa of Horizontal position
$pdf->MultiCell(100,10,'$pdf->SetFillColor(255,255,1);',1,C,true);

$pdf->SetFillColor(255,1,255);
$pdf->Ln(20);
$pdf->SetX(50);
$pdf->MultiCell(100,10,'$pdf->SetFillColor(255,1,255);',1,C,true);

$pdf->Output('my_file.pdf','I'); // send to browser and display


?>

Position of X and Y in MulitCell


Value of abscissa (Horizontal x position) does not change after MultiCell is displayed, but
value of ordinate ( vertical y position ) by default increases by assigned height of the
MultiCell. If the MultiCell height increases due to text wrap then Y position also increases.

We can control the starting point of MultiCell by using top margin and left margin. In the
example below we have displayed the X and Y position by reading the value using GetX and
GetY functions.
?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->SetLeftMargin(50); // before adding a page
$pdf->SetTopMargin(30); // before adding a page
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$h=15; // default height of each MultiCell
$w=100;// Width of each MultiCell
$y=$pdf->GetY(); // Getting Y or vertical position
$x=$pdf->GetX(); // Getting X or horizontal position
$pdf->MultiCell($w,$h,'X='.round($x).',Y='.round($y),LRTB,L,false);
$y=$pdf->GetY();
$x=$pdf->GetX();
$pdf->MultiCell($w,$h,'X='.round($x).',Y='.round($y),LRTB,L,false);
$y=$pdf->GetY();
$x=$pdf->GetX();
$pdf->MultiCell($w,$h,'X='.round($x).',Y='.round($y),LRTB,L,false);
$y=$pdf->GetY();
$x=$pdf->GetX();
$pdf->MultiCell($w,$h,'X='.round($x).',Y='.round($y).' ( Added more text
inside MultiCell for text to Wrap around )',LRTB,L,false);
$y=$pdf->GetY();
$x=$pdf->GetX();
$pdf->MultiCell($w,$h,'X='.round($x).',Y='.round($y),LRTB,L,false);

$pdf->Output('my_file.pdf','I'); // send to browser and display


?>
?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->Image('images/pdf-header.jpg',20,60,180,20,'JPG','www.plus2net.com');
$pdf->Output();
?>
<?Php
require('fpdf.php');

class PDF extends FPDF


{
// Page header
function Header()
{
$this->Image('images/pdf-header.jpg',0,0);
}
// Page footer
function Footer()
{
$this->SetY(-20);
$this->Image('images/pdf-footer.jpg');
}
}

// Instanciation of inherited class


$pdf = new PDF();
$pdf->SetMargins(10,60,10);
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'This is line number '.$i,0,1);
$pdf->Output();
?>

You might also like