在页眉/页脚中使用FPDF的WriteHTML()

时间:2012-12-18 13:58:01

标签: php fpdf

我正在尝试使用writeHTML脚本(此处为:http://www.fpdf.org/en/script/script41.php)以及教程6中的页眉和页脚(此处为:http://www.fpdf.org/en/tutorial/tuto2.htm)。

我的代码如下所示:

<?php
require_once('WriteHTML.php');

class PDF extends FPDF
{
     // Page footer
     function Footer()
     {

     $this->SetY(-30);
     $this->SetFont('Arial','I',8);     
     $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
     $html = '<p>some HTML</p>';

     $this->WriteHTML($html);
     }

     // Some more functions... header, PrintChapter etc... 
}

$pdf = new PDF();
$pdf->SetTitle($title);
$pdf->AddPage();
$pdf->PrintChapter(1,'A RUNAWAY REEF','test.txt'); // print text file content
$pdf->Output();
?>

我收到以下错误:

Call to undefined method PDF::WriteHTML() in /path/to/test2.php on line 15

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

您需要扩展PDF_HTML,而不是FPDF,因为WriteHTMLPDF_HTML的一部分。

如果您希望继承工作,则始终需要扩展要使用的类。假设你想扩展PDF_Index,你仍然需要继承WriteHTML

也许

PDF extends PDF_Index 

PDF_Index extends PDF_HTML

或者,

PDF_HTML extends PDF_Index

但你需要在链中同时使它发挥作用。

如果您没有将两者放在继承链中,那么您将不会使用您未使用的分支中的可用函数。

       ---> PDF_HTML
     /
FPDF ----> PDF_Index ----> PDF

PDF_HTML中的函数将无法用于PDF