<?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
Check the border option value with different sides to add border.
<?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.
<?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
<?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
$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;
$pdf->SetFont('Arial','B', $f); // Auto text size
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); // before adding a page
$pdf->SetTopMargin(30); // before adding a page
$pdf->AddPage();
$h=35; // default height of each MultiCell
$w=100;// Width of each MultiCell
$f=0.75*$h;
$pdf->SetFont('Arial','B',$f); // Auto text size
$y=$pdf->GetY(); // Getting Y or vertical position
$x=$pdf->GetX(); // Getting X or horizontal position
$pdf->MultiCell($w,$h,'$h='.$h.',$f='.$f,'LRTB','L',false);
$h=25;
$f=0.75*$h;
$pdf->SetFont('Arial','B',$f); // Auto text size
$pdf->MultiCell($w,$h,'$h='.$h.',$f='.$f,'LRTB','L',false);
$h=10;
$f=0.75*$h;
$pdf->SetFont('Arial','B',$f); // Auto text size
$pdf->MultiCell($w,$h,'$h='.$h.',$f='.$f,'LRTB','L',false);
$pdf->Output('my_file.pdf','I'); // send to browser and display
?>
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);
$pdf->SetFont('Arial','B',$f); // Auto text size
$pdf->MultiCell($w,$h,$cell_data,'LRTB','L',false);
demo for auto text size based on length of the string in PDF autoCell is here.