2011-12-15 138 views
5

我想將頁腳部分放置在除第一頁以外的每個頁面上。TCPDF - 僅在特定頁面上具有頁腳/頁眉

我通過擴展TCPDF類並重寫其頁腳方法創建了自定義頁腳。

然後基於該文檔,並使用例如下面我明白我應該使用SetPrintHeader和SetPrintFooter方法:

http://www.tcpdf.org/examples/example_002.phps

// Page one 

$pdf->SetPrintHeader(false); 
$pdf->SetPrintFooter(false);  
$pdf->AddPage(); 

// Page two and on .. 

$pdf->SetPrintHeader(true); 
$pdf->SetPrintFooter(true);  
$pdf->AddPage(); 

然而,上述不阻止頁腳/報頭被打印在所有!

我在這裏做錯了什麼?

非常感謝!

回答

8

我認爲

$pdf->setPrintHeader(false); 
$pdf->setPrintFooter(false); 

打印或隱藏頁眉和全球頁腳所以如果你做

$pdf->SetPrintHeader(false); 
$pdf->SetPrintFooter(false);  
$pdf->AddPage(); 

// Page two and on .. 

$pdf->SetPrintHeader(true); 
$pdf->SetPrintFooter(true); 

你只是告訴TCPDF打印頁眉和頁腳(最後兩個語句) 。

,你應該是,在頁眉和頁腳功能,打印的東西有條件根據您在,有點像在頁面上做什麼(未測試,我現在所擁有的不是我的PHP IDE)

function Header(){ 
    $pageN = PageNo(); 
    if($pageN % 2 === 0){ 
     //if page is 2/4/6... don't print anything 
     return; 
    }else{ 
     //do your stuff 

} 
+0

謝謝尼古拉,是的,你說的是完全正確的。這是一個全球指令,所以最後的價值被考慮在內。問題是頁碼是我的第一頁是可選的,所以我可能並不總是0頁。有沒有辦法給頁面命名? – user1099862 2011-12-15 14:49:46

0

可以通過修改tcpdf.php中的函數startPage來控制頁眉。

在這個例子中,我只需要頁面2中的頁眉。

// print page header 
    if ($this->numpages > 1) { 
     $this->setHeader(); 
    }