首页 文章

带有FPDF的页面底部的空白

提问于
浏览
2

我刚刚完成了一个生成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 回答

  • 1

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

    例如:

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

    SetMargins默认左/上/右边距为1厘米,SetAutoPageBreak默认为真,下边距为2厘米 .

  • 0

    您不必手动添加页面 . 将自动分页设置为0,保证金为0:

    $pdf->SetAutoPageBreak(true,0);
    

相关问题