2010-12-27 21 views
6

Sto convertendo un'applicazione di accesso sul Web e devo stampare i report da esso. Queste sono lettere spedite per posta e quindi la parte inferiore della lettera, che è la parte "Please return", sarà sempre nella parte inferiore della pagina, indipendentemente da quanto è grande il corpo della lettera. Ho usato DIV s per disporre le lettere e ho mimato abbastanza bene Access, ma non so come ottenere l'intestazione di ogni lettera in fondo alla sua pagina. L'utilizzo del CSS position: fixed; per il piè di pagina fa apparire ogni piè di pagina nella parte inferiore di ogni pagina e vorremmo poter stampare più lettere contemporaneamente.È possibile stampare un altro piè di pagina su ogni pagina?

Se rimuovo lo fixed, esso visualizza ciascun piè di pagina nella propria pagina, non erano allineati al fondo di esso.

Posso avere la mia torta e mangiarla anch'io? Non ha bisogno di essere cross-browser, e mi sposterò in PDF se assolutamente necessario, ma quali sono le mie opzioni in CSS/HTML? In qualche modo, convertendo tutto in un tavolo e provando le zampe? Ma lo farà rispettare in fondo a ciascuna pagina?

Edit: Un campione del CSS/HTML:

.reportcontainer { 
    width: 100%; 
    page-break-inside: avoid; 
    page-break-after: always; 
    position: relative; 
} 
.reportbody { 
    float: left; 
    text-align: left; 
} 
.reportfooter { 
    width: 100%; 
    float: left; 
    bottom: 0; 
    position: fixed; 
} 

<div class="reportcontainer"> 
    <div class="reportbody"> 
     yadda yadda yadda 
    </div> 
    <div class="reportfooter"> 
     stuff goes here 
    </div> 
</div> 
+0

un esempio di HTML/CSS sarebbe un ** ottimo ** aiuto. Inoltre, perché sei così riluttante a usare il PDF? è un'opzione migliore IMO –

+0

Perché è un altro programma, e quindi un altro livello di complessità per i nostri utenti. Se è possibile farlo in HTML, sceglierei questa opzione, ma se non lo è, sono perfettamente disposto a passare a un'alternativa valida come il PDF. – Andrew

risposta

1

mi consiglia di utilizzare PDF. Se hai bisogno di quel livello di controllo per il materiale stampato, dovrai lottare per far funzionare l'HTML tra i vari browser e questo è davvero ciò per cui è progettato il PDF.

tfoot non aiuta, garantisce solo che il piè di pagina si trova nella parte inferiore della tabella, non nella parte inferiore della pagina.

+0

La risposta accettata non è purtroppo di aiuto per me – Saksow

1

Prova questo. Ultimamente ho dovuto anche inventare molta stampa html. È possibile capire come si desidera replicare i div, backend o utilizzando la clonazione jQuery per ciascun report. I confini servono solo per illustrare i contenitori.

.reportcontainer { 
    width:8.5in; 
    height:11in; 
    page-break-inside:avoid; 
    page-break-after:always; 
    border:1px solid red; 
} 
.reportbody { 
    width:100%; 
    height:10in; 
    border:1px solid yellow; 
} 
.reportfooter { 
    width:100%; 
    height:1in; 
    border:1px solid blue; 
} 
</style> 

<div class="reportcontainer"> 
    <div class="reportbody"> 
     yadda1 yadda1 yadda1 
    </div> 
    <div class="reportfooter"> 
     footer 1 goes here 
    </div> 
</div> 

<div class="reportcontainer"> 
    <div class="reportbody"> 
     yadda2 yadda2 yadda2 
    </div> 
    <div class="reportfooter"> 
     footer 2 goes here 
    </div> 
</div> 

<div class="reportcontainer"> 
    <div class="reportbody"> 
     yadda3 yadda3 yadda3 
    </div> 
    <div class="reportfooter"> 
     footer 3 goes here 
    </div> 
</div> 
+0

Ooooh. Questa è un'idea originale; utilizzando i pollici per determinare che il piè di pagina occupa esattamente il pollice in basso di un foglio di carta 8 1/2 x 11? Bello. Dovrò provare questo fuori e vedere se posso adattarlo alle mie esigenze. :) – Andrew

Problemi correlati