2012-01-03 27 views
7

He estado jugando con el platillo volante R8 y trataron de ocultar encabezado y pie de página de la primera página de mi PDF.platillo volante encabezado piel y pie de página en la primera página

he seguido hint tratado de seguir las especificaciones de W3C para el contenido : Elemento()(W3C running elements) en mi print.css. Se describe que lo siguiente debería resolver mi problema:

@page { @top-center { content: element(header, first-except) }} 

Pero parece que esto aún no se ha implementado en R8. Así que probé el enfoque anterior con el set-string método.

#header { set-string: header content() } 
@page { @top-center { content: string(header, first-except) }} 

Pero nada se rindió, contenido: string() parece estar roto, ya que lo puse allí no se brindará:

@page { @top-center { content: "foo" string(header, first-except) }} /*broken*/ 
@page { @top-center { content: "foo" string(header) }} /*broken*/ 
@page { @top-center { content: "foo" }} /*works!*/ 

Así que tiene cualquier persona una idea de cómo llegar esto trabajando?

Respuesta

12

Ok, la tarea fue fácil. Me copiaste desde el platillo volante fuentes manuales link

yo tuvimos que hacer lo siguiente:

añadir un segundo pie de página sin la numeración de páginas:

<div id="normalFooter" style="position: running(normalFooter);"> 
    <div class="footerContent">fancy stuff</div> 
    page <span class="page"/> of <span class="pagecount"/> 
</div> 
<div id="firstPageFooter" style="position: running(firstPageFooter);"> 
    <div class="footerContent">fancy stuff</div> 
</div> 

El truco es el CSS @ página : primero:

@page {  
    @bottom-right { 
     content: element(normalFooter); 
    } 
} 

@page :first {  
    @bottom-right { 
     content: element(firstPageFooter); 
    } 
} 

Hay un pie de página normal para todas las páginas excepto la primera, que viene con un pie de página diferente

0

Esto parece funcionar para mí. La clave que me perdí inicialmente fue la propiedad del conjunto de cadenas en el elemento #cover. También muestra cómo hacer el contador de página. El elemento #cover está en mi página de portada, lo que hace que el contador se incremente en la página uno, aunque no se muestre el pie de página.

 div.header { 
      display: block; 
      font-size: 8pt; 
      position: running(header); 
     } 

     div.header .project-date { 
      padding-left: 8px; 
     } 

     div.header .project-name { 
      padding-left: 4px; 
     } 

     div.footer { 
      font-size: 8pt; 
      display: block; 
      position: running(footer); 
     } 

     div.footer .page-number:before { 
      counter-increment: section; 
      content: counter(section); 
     } 


     @page { 
      size: 8.5in 11in; 
      margin: 1cm; 
      @top-center { content: element(header, last-except)} 

      @bottom-center { content: element(footer, last-except)} 

     } 

     #cover { 
      string-set: footer header; 
      counter-increment: section; 
     } 
Cuestiones relacionadas