MultiCell to display text with line breaks

Syntax of MultiCell with different options to print the string with line breaks.
MultiCell options
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

MultiCell & Cell difference

Here is the code to display difference between MultiCell and Cell
<?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
?>

Difference between MultiCell and Cell in PDF

MultiCell Border

We can add border to different sides of a MultiCell by specifying the sides.

1 : All borders
0 : No Border
L : Only Left boarder
RT: Only Right and Top Border
BTL: Only Bottom Top and Left side
You can continue with other combinations of the borders.

Check the border option value with different sides to add border.

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
?>

Check the alignment option of text inside MultiCell with different values.

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
?>

fill option with different value of SetFillColor for MultiCell

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.
MultiCell position
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.
We have used PHP Math function round() to get rounded value of X and Y coordinates.
<?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
?>

Position of X & Y Coordinates for MultiCell



plus2net.com




Post your comments , suggestion , error , requirements etc here .




We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
©2000-2020 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer