2016-02-18 2 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