Reputation: 16163
I am printing a cell using the FPDF(http://www.fpdf.org/) class in php. The cell should be placed into the top left corner.
Everything works great, except that a left padding is added inside the cell.
Here is my code:
$pdf = new FPDF('L', 'mm', array(50.8,88.9));
$pdf->addPage('L', array(50.8,88.9));
$pdf->SetDisplayMode(100,'default');
$pdf->SetTextColor(0,0,0);
$pdf->SetMargins(0,0,0);
$pdf->SetAutoPageBreak(0);
$pdf->SetFont('Arial','',8.5);
$pdf->SetXY(0, 0); //sets the position for the name
$pdf->Cell(0,2.98740833, "Your Name", '1', 2, 'L', false); //Name
Here's a screenshot of the PDF that is outputting with FPDF:
Why is there a left padding in a cell using FPDF in php and how can I remove the padding?
Upvotes: 8
Views: 34527
Reputation: 9
Use SetMargins before AddPage
example:
$pdf=new PDF();
$pdf->SetMargins(23, 44, 11.7);
$pdf->AliasNbPages();
$pdf->AddPage();
Upvotes: 1
Reputation: 81
Small fix updateproof
<?php
require("fpdf.php");
class CustomFPDF extends FPDF{
function SetCellMargin($margin){
// Set cell margin
$this->cMargin = $margin;
}
}
?>
<?php
$pdf = new CustomFPDF();
$pdf->setCellMargin(0);
?>
Upvotes: 8
Reputation: 335
I know this is super old, but I had and fixed the same issue so maybe someone will find it useful.
There's a property in the FPDF class called $cMargin, which is used to calculate the x-offset of the text before it gets printed within the cell, but there doesn't appear to be a setter for it. It's a public property, so after you've instantiated your FPDF class, just call:
$pdf = new fpdf('P','mm','A4');
$pdf->cMargin = 0;
And your cells won't have that padding on the left any more.
Upvotes: 16
Reputation: 625
i've ran into the same problem. Only the 1st line has this unwanted margin, so my workaround was this:
$pdf->Ln(); //workaround for 1st line
$pdf->Cell(..);
Upvotes: 2
Reputation: 1061
I can't work out how to remove the padding.
As a workaround, it is useful to know that it seems to be 1mm, regardless of font size. The same padding is applied at the right edge with right aligned text.
Upvotes: 2
Reputation: 2024
Have you tried running SetMargins(0,0)
?
SetMargins
SetMargins(float left, float top [, float right])
Description
Defines the left, top and right margins. By default, they equal 1 cm. Call this method to change them.
http://www.fpdf.org/en/doc/setmargins.htm
Upvotes: 1