2012-11-08 2 views
1

J'essaie de créer un rapport pdf en utilisant dompdf. Le rapport doit avoir le logo de l'entreprise en haut de la première page ainsi qu'un en-tête et un pied de page sur chaque page. J'ai trouvé des solutions pour ajouter un en-tête et un pied de page à un document dompdf elsewhereonstackoverflow. Le problème que je suis en cours d'exécution en est que le logo de l'entreprise doit être au-dessus de la tête de page sur la première page et non affichée sur d'autres pagesdompdf avec en-tête de rapport puis en-tête de page et pied de page

quelque chose comme ça

Company Logo 
- header 
- content here 
- footer 
------ 
- header 
- content here 
- footer 

Est-il possible de le faire en utilisant dompdf?

+0

Ancienne question, mais ... l'en-tête peut-il rester au même endroit ou est-il prévu que sur la première page il sera poussé vers le bas à cause du logo? – BrianS

Répondre

5

Ceci est kludgey, mais cela fonctionne. Vous pouvez essentiellement simuler les différents en-têtes en créant un en-tête normal en utilisant le positionnement fixe et l'en-tête de la page 1 en utilisant le positionnement absolu. Si vous réglez les choses dans le bon ordre, l'en-tête de la page 1 sera rendu au-dessus de l'en-tête standard, ce qui l'obscurcira.

<html> 
    <head> 
    <style> 
     @page { 
     margin: 0px; 
     } 
     @page :first { 
     margin-top: 100px; 
     } 
     body { 
     margin: 100px 20px 50px 20px; 
     } 
     #headerA { 
     position: fixed; 
     left: 0px; right: 0px; top: 0px; 
     text-align: center; 
     background-color: orange; 
     height: 90px; 
     } 
     #headerB { 
     position: absolute; 
     left: -20px; right: -20px; top: -200px; 
     text-align: center; 
     background-color: orange; 
     height: 190px; 
     } 
     #footer { 
     position: fixed; 
     left: 0px; right: 0px; bottom: 0px; 
     text-align: center; 
     background-color: orange; 
     height: 40px; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="headerA"> 
     <h1>Widgets Express</h1> 
    </div> 
    <div id="headerB"> 
     <img class="logo" src="http://eclecticgeek.com/images/macro/ants.jpg" height="100" width="500"> 
     <h1>Widgets Express</h1> 
    </div> 

    <div id="footer"> 
     <p>Copyright, all rights reserved, yadda yadda</p> 
    </div> 

    <div id="content"> 
     ... 
    </div> 
    </body> 
</html> 
Questions connexes