2010-12-27 21 views
6

Estoy convirtiendo una aplicación de Access a la web y necesito imprimir informes desde ella. Estas son cartas enviadas por correo y, por lo tanto, la parte inferior de la carta, que es la porción 'por favor devuelva', siempre estará en la parte inferior de la página, independientemente de cuán grande sea el cuerpo de la letra. He utilizado DIV s para diseñar las letras e imité a Access bastante bien, pero no sé cómo hacer que el encabezado de cada letra aparezca en la parte inferior de la página. El uso del CSS position: fixed; para el pie de página hace que cada pie de página aparezca en la parte inferior de cada página, y nos gustaría poder imprimir varias letras a la vez.¿Es posible imprimir un pie de página diferente en cada página?

Si elimino el fixed, muestra cada pie de página en su propia página, no estaban alineados en la parte inferior.

¿Puedo comer mi pastel y comerlo también? No necesita ser un navegador cruzado, y pasaré a PDF si es absolutamente necesario, pero ¿cuáles son mis opciones en CSS/HTML? ¿De alguna manera convertirlo todo en una mesa y probarlo? Pero, ¿será obligatorio que esté en la parte inferior de cada página?

Editar: Una muestra de la 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 ejemplo del HTML/CSS sería una ** gran ** ayuda. Además, ¿por qué duda tanto en usar PDF? es una mejor opción IMO –

+0

Porque es otro programa, y ​​por lo tanto otra capa de complejidad para nuestros usuarios. Si es posible hacerlo en HTML, escogería esa opción, pero si no es así, estoy perfectamente dispuesto a cambiar a una alternativa viable como PDF. – Andrew

Respuesta

1

Yo recomendaría el uso de PDF. Si necesita ese nivel de control para el material impreso, luchará para que HTML funcione en todos los navegadores y esto es realmente para lo que está diseñado el PDF.

tfoot no ayuda, solo garantiza que el pie de página está en la parte inferior de la tabla, no en la parte inferior de la página.

+0

La respuesta aceptada no ayuda desafortunadamente para mí – Saksow

1

Pruebe esto. También he tenido que descubrir mucha impresión html últimamente. Puede averiguar cómo quiere replicar los divs, ya sea back-end o usando jquery cloning para cada informe. Los bordes son solo para ilustrar contenedores.

.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. Ahora que es una idea novedosa; usando pulgadas para determinar que el pie de página ocupa exactamente la pulgada inferior de una hoja de papel de 8 1/2 x 11? Bonito. Tendré que probar esto y ver si puedo adaptarlo a mis necesidades. :) – Andrew

Cuestiones relacionadas