带有FPDF的页面底部的空白

时间:2013-10-30 14:02:34

标签: php pdf fpdf

我刚刚完成了一个生成PDF格式发票的PHP脚本。我已经使用了FPDF。 PDF的每个页面都有一个图像作为背景。这是一个793x1113像素的单个图像,经过一些试验和错误,我发现像素完全填满了整个页面。 在列出产品的循环中,我检查Y位置的值。如果太高,我会添加另一页,再次绘制背景图像,并在右侧点设置Y位置以继续列表。 一切都运行得很好,除了一个小问题:在每个页面上除了最后一个,在背景图像下面添加大约10个像素的空白,使布局看起来很容易。

这个问题似乎与我在整个脚本中添加的任何文本内容无关,因为当我只添加几个空白页时,情况完全相同。我想这是添加新页面时插入的标准空格。我能做些什么来摆脱它,使一切无缝化?

在我用于生成带有背景的三页PDF的简单代码下面。测试时,第1页和第2页底部有10个像素的空白,而最后的第3页没有。 设置图像时,从GetX和GetY中减去10个像素,将图像直接定位在左上角。我在每个页面添加后都有var_dumped Y位置,但这总是完全相同的值,所以这也不是问题。

$pdf = new FPDF();
$background = '../data/images/pdf/fullbackground.png';
$pdf->AddPage();
$pdf->Cell( 0, 0, $pdf->Image($background, $pdf->GetX() - 10, $pdf->GetY() - 10, 0), 0, 0, 'L', false );
$pdf->AddPage();
$pdf->Cell( 0, 0, $pdf->Image($background, $pdf->GetX() - 10, $pdf->GetY() - 10, 0), 0, 0, 'L', false );
$pdf->AddPage();
$pdf->Cell( 0, 0, $pdf->Image($background, $pdf->GetX() - 10, $pdf->GetY() - 10, 0), 0, 0, 'L', false );
$pdf->Output();
die();

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试将边距设置为0并禁用自动分页,下边距为0.

例如:

$pdf->SetMargins(0,0,0);
$pdf->SetAutoPageBreak(false,0);

SetMargins默认左/上/右边距为1 cm,SetAutoPageBreak默认为true,下边距为2 cm。

答案 1 :(得分:0)

您不必手动添加页面。 将自动分页设置为0,余量为0:

$pdf->SetAutoPageBreak(true,0);