<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->SetX(50); // Set 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); // Set 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
We can add borders to different sides of a MultiCell by specifying the sides.
You can continue with other combinations of the borders.
Check the border option value with different sides to add border.
Below are the different text alignment options available in MultiCell:
<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->SetX(50); // Set Horizontal position
$pdf->MultiCell(100,10,'Alignment = L',1,'L',false);
$pdf->Ln(20); // Line gap
$pdf->SetX(50);
$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.
<?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);
$pdf->MultiCell(100,10,'$pdf->SetFillColor(1,255,255);',1,'C',true);
$pdf->SetFillColor(255,255,1);
$pdf->Ln(20);
$pdf->SetX(50);
$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');
?>
fill option with different value of SetFillColor for MultiCell
<?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->SetLeftMargin(50); // Set left margin before adding a page
$pdf->SetTopMargin(30); // Set top margin 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(); // Get current Y (vertical position)
$x = $pdf->GetX(); // Get current X (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');
?>
Position of X & Y Coordinates for MultiCell
$pdf->SetFont('Arial','B',16);
, we can change this fixed height 16 to make it 75% of the height of the autoCell by using the variable $h as parameter while using SetFont(). Here we have kept it as 0.75*$h , you can change this to any value. Now the font size will increase or decrese based on the default height of the multiCell.
$h = 15; // Default height of each MultiCell
$w = 100; // Width of each MultiCell
$f = $h * 0.75; // Auto text size based on height
$pdf->SetFont('Arial', 'B', $f);
Full code is below and demo for auto text size in PDF autoCell is here. <?Php
require('fpdf.php');
$pdf = new FPDF();
$pdf->SetLeftMargin(50); // Set left margin before adding a page
$pdf->SetTopMargin(30); // Set top margin before adding a page
$pdf->AddPage();
$h = 35; // Default height of each MultiCell
$w = 100; // Width of each MultiCell
$f = 0.75 * $h; // Auto text size
$pdf->SetFont('Arial','B',$f);
$y = $pdf->GetY(); // Get current Y (vertical position)
$x = $pdf->GetX(); // Get current X (horizontal position)
$pdf->MultiCell($w,$h, '$h='.$h.',$f='.$f", 'LRTB','L',false);
$h = 25;
$f = 0.75 * $h;
$pdf->SetFont('Arial','B',$f);
$pdf->MultiCell($w,$h, '$h='.$h.',$f='.$f", 'LRTB','L',false);
$h = 10;
$f = 0.75 * $h;
$pdf->SetFont('Arial','B',$f);
$pdf->MultiCell($w,$h, '$h='.$h.',$f='.$f", 'LRTB','L',false);
$pdf->Output('my_file.pdf','I');
?>
Based on the length of the text inside the multiCell we can change the size of the font matching to width and height of the multiCell.
$cell_data = "Welcome to plus2net, PHP section,
read more on how to generate pdf documents here";
$chars_no = strlen($cell_data);
$f = 0.75 * ($w / $chars_no) * ($h / 5);
// Auto text size based on width, character count, and height
$pdf->SetFont('Arial', 'B', $f);
$pdf->MultiCell($w, $h, $cell_data, 'LRTB', 'L', false);
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.