在FPDI中添加页脚

时间:2015-07-18 20:59:31

标签: php pdf fpdf fpdi

由于FPDF,我创建了一个PDF生成器,它使用来自mysql数据库的数据并且运行良好。页数是可变的。

然后我想在每个PDF中添加从其他PDF文件导入的一些页面。添加的页面数和导入文件的地址也是可变的。

它工作得非常好,除了我的页脚不再出现。我希望在每个页面上保留这个页脚,由生成器创建的页面和导入的页面。有人能告诉我问题在哪里吗?..

这是我的代码:

require_once('gpdf/fpdf.php');
require_once('gpdf/fpdi.php');

class PDF extends FPDI
{

function Header()
{


}

function Footer()
{
    // Positionnement à 1,5 cm du bas
    $this->SetY(-15);
    // Police Arial italique 8
    $this->SetFont('Arial','I',8);
    // Numéro de page
    $this->Cell(0,10,'Devis from MyCompany - Page '.$this->PageNo().'/{nb}'.'        Paraphes :',0,0,'C');
}

}

// Instanciation de la classe dérivée



$pdf = new FPDI();
$pdf->AliasNbPages();

$pdf->AddPage();
    // Here is page 1, you don't need the details
$pdf->AddPage();
    // Here is page 2, some other pages can come too


// Then begins the importation

// get the page count
$pageCount = $pdf->setSourceFile('cgua/cgu_'.$customer['num'].'.pdf');
// iterate through all pages
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    // import a page
    $templateId = $pdf->importPage($pageNo);
    // get the size of the imported page
    $size = $pdf->getTemplateSize($templateId);

    // create a page (landscape or portrait depending on the imported page size)
    if ($size['w'] > $size['h']) {
        $pdf->AddPage('L', array($size['w'], $size['h']));
    } else {
        $pdf->AddPage('P', array($size['w'], $size['h']));
    }

    // use the imported page
    $pdf->useTemplate($templateId);
}


$pdf->Output('devis.pdf','I');

我没有找到关于如何在FPDI的手册中保留我的页脚的解释......我确信很容易解决问题,我只是没找到方法!

谢谢!

1 个答案:

答案 0 :(得分:3)

您创建了一个继承FPDI类的新类。这个新类PDF正确定义了Footer方法。但是你实例化了FPDI类,而不是PDF类。

只需更改

$pdf = new FPDI();

$pdf = new PDF();

这样您就可以实例化新的类并查看新的Footer方法的结果。