zeckdude
zeckdude

Reputation: 16163

Why is there a left padding in a cell using FPDF in php?

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:

Screenshot of PDF output 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

Answers (6)

Dhea
Dhea

Reputation: 9

Use SetMargins before AddPage

example:

$pdf=new PDF();
$pdf->SetMargins(23, 44, 11.7);
$pdf->AliasNbPages();
$pdf->AddPage();

Upvotes: 1

Vince
Vince

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

Jasper Tandy
Jasper Tandy

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

steve
steve

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

Jim
Jim

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

Mahdi.Montgomery
Mahdi.Montgomery

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

Related Questions