由于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的手册中保留我的页脚的解释......我确信很容易解决问题,我只是没找到方法!
谢谢!
答案 0 :(得分:3)
您创建了一个继承FPDI类的新类。这个新类PDF正确定义了Footer方法。但是你实例化了FPDI类,而不是PDF类。
只需更改
$pdf = new FPDI();
到
$pdf = new PDF();
这样您就可以实例化新的类并查看新的Footer方法的结果。