【问题标题】:FPDF Header and FooterFPDF 页眉和页脚
【发布时间】:2013-11-27 13:57:34
【问题描述】:

我已经在 Laravel 4 上安装了 FPDF。

我使用此代码尝试 FPDF,但函数 Header()Footer() 不起作用

class PDF extends Fpdf
{
    // Page header
    function Header()
    {
        // Logo
        $this->Image('logo.png',10,6,30);

        // Arial bold 15
        $this->SetFont('Arial','B',15);

        // Move to the right
        $this->Cell(80);

        // Title
        $this->Cell(30,10,'Title',1,0,'C');

        // Line break
        $this->Ln(20);

    }

    // Page footer
    function Footer()
    {
        // Position at 1.5 cm from bottom
        $this->SetY(-15);

        // Arial italic 8
        $this->SetFont('Arial','I',8);

        // Page number
        $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    }
}


// Instanciation of inherited class

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);

for($i=1;$i<=40;$i++)
    $pdf->Cell(0,10,'Printing line number '.$i,0,1);

$pdf->Output();
exit;

这是结果:https://dl.dropboxusercontent.com/u/70804756/doc%20(3).pdf

谁能指出错误在哪里?

【问题讨论】:

  • 您应该创建一个新的 PDF 实例,而不是 Fpdf。
  • 我改变了那部分,但不起作用。我看到如果我添加 $pdf->Header();调用工作函数 Header。在 FPDF 的文档中写道:“此示例使用 Header() 和 Footer() 方法来处理页眉和页脚。它们被自动调用。它们已经存在于 FPDF 类中但什么也不做,因此我们必须扩展类并覆盖它们。"

标签: php laravel laravel-4 fpdf


【解决方案1】:

编写一个扩展 FPDF 的新类并将您的 Header 和 Footer 方法放在那里。

class PDF extends FPDF {

  function Header() {}
  function Footer() {}
}

然后在你的控制器中...

new PDF();

【讨论】: