2012-08-14 106 views
1

我已經在PHP中用FPDF創建了一個pdf文件。當我插入頁眉和頁腳時,它們會自動顯示在PDF文件的所有頁面上。但我想停止這些頁眉和頁腳在第一頁上顯示並從PDF文件的第二頁開始顯示它們。我搜索了網絡,但無法找到解決方案。有沒有辦法在PHP中使用FPDF創建的pdf文件中隱藏頁眉和頁腳?

換句話說,我想爲FPDF創建的pdf報告動態創建一個封面。

任何人都可以給我一些關於如何從PDF文件的第一頁執行hidinh頁眉和頁腳任務的提示!

任何幫助將不勝感激!

+0

請注意,這僅僅是我頭頂的東西,但你需要告訴腳本,你希望它顯示在標題/腳中呃,對嗎?只需檢查一下您正在瀏覽的網頁並告訴它「不要做什麼」? – ATaylor 2012-08-14 07:36:24

+0

或者,您可以創建不帶第一頁的PDF文件,然後添加頁眉/頁腳。保存文件,然後使用FPDF添加新的第一頁。 – 2012-08-14 07:41:49

+0

Terry Seidler你可以稍微清理一下,也就是說可以創建一個帶有頁眉和頁腳的pdf文件,但不要將它保存在硬盤上,然後用頁眉和頁腳添加新頁面。 – 2012-08-14 08:15:45

回答

6

這是一件容易的事。請嘗試以下操作:

class PDF extends FPDF { 
    ... 

    function Header() { 
     if ($this->PageNo() !== 1) { 
      // Add your stuff here 
     } 
    } 

    function Footer() { 
     if ($this->PageNo() !== 1) { 
      // Add your stuff here 
     } 
    } 
} 
4

的問題是頁腳在Close()方法,在線路288是從輸出()在行987是什麼意思你有效地熄滅後,再頁腳,然後就叫創建反正顯示它。如果我所需要的靈活性,我會做的是一樣的東西:

class PDF extends FPDF { 
    function Header() { 
     if (!isset($this->header[$this->page]) || !$this->header[$this->page]) { 
      // ... 
     } 
    } 

    function Footer() { 
     if (!isset($this->footer[$this->page]) || !$this->footer[$this->page]) { 
      // ... 
     } 
    } 
} 

,然後使用它像:

$pdf->header[1] = false; 
$pdf->footer[1] = false; 
$pdf->AddPage(); 

$pdf->header[2] = true; 
$pdf->footer[2] = true; 
$pdf->AddPage(); 

它可能不是最完美的解決方案,但它的工作原理,它有效地讓你動態地改變頁腳的可見性(ps:不指定狀態也會使頁眉有效地減少你需要的代碼量)

+0

這是舊的,但是我認爲你的意思是讓if語句讀取'!isset($ this-> header [$ this-> page])|| $這 - >頭[$這 - >頁]'。從來沒有,我發現這個答案很有幫助。 – 2015-11-05 16:46:48

相關問題