2016-02-18 58 views
0

下面的代碼完美地將頁碼添加到文檔右下角的每個頁面。make dompdf使用{PAGE_NUM}爲頁面編號時跳過第一頁

我有一個標題頁,不需要一個頁碼,所以想跳過它的號碼。

有沒有辦法做到這一點?或者至少將代碼修改爲page_num + 1,page_count-1,然後在頁面頁面上div以便它不顯示?

$dompdf->render(); 
$canvas = $dompdf->get_canvas(); 
$font = Font_Metrics::get_font("helvetica", "bold"); 
$canvas->page_text(522, 770, "Page: {PAGE_NUM} of {PAGE_COUNT}", $font, 10, array(0,0,0)); 

回答

0

不能使用page_text()方法,因爲這種方法應用於所有頁面上指定的文本做到這一點。您想要使用的是page_script()方法,它爲您提供了類似於dompdf嵌入式腳本的功能,可在所有頁面上運行。

由於您只需要減去第一頁,就可以從當前頁面和頁面總數中減去一,以獲得正確的頁面編號。

嘗試在DOMPDF 0.6.2以下或更低版本:

$dompdf->render(); 
$canvas = $dompdf->get_canvas(); 
$canvas->page_script(' 
    if ($PAGE_NUM > 1) { 
    $font = Font_Metrics::get_font("helvetica", "bold"); 
    $current_page = $PAGE_NUM-1; 
    $total_pages = $PAGE_COUNT-1; 
    $pdf->text(522, 770, "Page: $current_page of $total_pages", $font, 10, array(0,0,0)); 
    } 
'); 

事情是有點不同的起點與DOMPDF 0.7.0:

$dompdf->render(); 
$canvas = $dompdf->getCanvas(); 
$canvas->page_script(' 
    if ($PAGE_NUM > 1) { 
    $font = $fontMetrics->getFont("helvetica", "bold"); 
    $current_page = $PAGE_NUM-1; 
    $total_pages = $PAGE_COUNT-1; 
    $pdf->text(522, 770, "Page: $current_page of $total_pages", $font, 10, array(0,0,0)); 
    } 
'); 
+0

的作品完美的,不同之處在於第2頁仍然顯示「第2頁,共2頁」,我希望它說「第1頁1」,即使它是2,等等。 – Steven

+0

哦,對不起。錯過了。閱讀......我會更新答案。 – BrianS