2011-12-15 303 views
5

Quiero colocar la sección del pie de página en cada página de mi documento, excepto la primera.TCPDF - Tener pie de página/encabezado en determinadas páginas solo

Creé mi pie de página personalizado extendiendo la clase TCPDF y anulando su método de pie de página.

A continuación, en base a la documentación y mediante el siguiente ejemplo, entiendo que debo usar SetPrintHeader y SetPrintFooter métodos:

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(); 

Sin embargo, lo anterior no impide que el pie de página/encabezado se imprima en ¡todas!

¿Qué estoy haciendo mal aquí?

¡¡¡Gracias un millón por adelantado !!

Respuesta

8

creo que

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

impresiones u oculta la cabecera y el pie a nivel mundial por lo que si lo hace

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

// Page two and on .. 

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

Usted está diciendo a TCPDF para imprimir el encabezado y el pie (Los dos últimos estados) .

Lo que debe hacer es, en función de la cabecera y el pie, cosas de impresión condicional basan en la página que se encuentra. Algo similar (no probado, que no tengo a mi PHP IDE en este momento)

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

} 
+0

Gracias Nicola, sí lo que dices es completamente correcto. Es una instrucción global por lo que se tiene en cuenta el último valor. El problema es que con los números de página es que mi primera página es opcional, por lo que puede que no siempre sea la página 0. ¿Hay alguna manera de dar un nombre a la página? – user1099862

+1

¿Qué quiere decir con la primera página es opcional? En cualquier caso, olvidé dos '=' en mi código ... en cualquier caso, creo que debe encontrar una lógica para comprender la página en la que se encuentra y luego decidir si desea imprima el encabezado o no –

0

El encabezado se puede controlar modificando la función página de inicio en tcpdf.php

En este ejemplo, solo necesito encabezados de la página 2.

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