我正在做这个PDF页面,并且在第一页上有一个页脚图像,它与内容重叠,所以我想将第一页页边距更改为更大的数字,以便它不会重叠使用页脚图像,编码如下,但它不起作用
// set auto page breaks
$pageN = $pdf->PageNo();
if($pageN == 1):
$pdf->SetAutoPageBreak(TRUE, 100);
else:
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
endif;
答案 0 :(得分:0)
这可以通过最初使用SetAutoPageBreak()设置较大的边距,然后在第一页上绘制页脚后将其设置为较小的边距来实现。这似乎可以实现您正在寻找的结果,但可能有更好的方法来实现这一结果。
以下是扩展TCPDF类的示例:
<?php
require_once('tcpdf_include.php');
// Extend the TCPDF class to create custom footer.
class MYPDF extends TCPDF
{
public function Footer()
{
if ($this->page == 1) {
$this->SetY(-45);
$this->Cell(0, 10, 'Page 1 Footer', 0, false, 'C', 0, '', 0, false, 'T', 'M');
// Set a smaller margin after drawing the first page footer.
$this->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
} else {
$this->SetY(-15);
$this->Cell(0, 10, 'Page 2+ Footer', 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
}
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// Set a large margin for the first auto bage break.
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM + 40);
$pdf->AddPage();
$txt = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. ';
$pdf->Write(0, str_repeat($txt, 400), '', 0, 'C', true, 0, false, false, 0);
$pdf->Output('example.pdf', 'I');