Como usar HTML para imprimir cabeçalho e rodapé em cada página impressa de um documento?

É possível imprimir páginas HTML com cabeçalhos e rodapés personalizados em cada página impressa?

I'gostaria de adicionar a palavra "UNCLASSIFIED" em vermelho, Arial, tamanho 16pt na parte superior e inferior de cada página impressa, independentemente do conteúdo.

Para esclarecer, se o documento foi impresso em 5 páginas, cada página deve ter o cabeçalho e rodapé de página personalizados.

Alguém sabe se isso é possível usando HTML/CSS?

Se você pegar o elemento que você quer que seja o rodapé e colocá-lo na posição:fixo e fundo:0, quando a página for impressa ele repetirá esse elemento no fundo de cada página impressa. O mesmo funcionaria para um elemento de cabeçalho, basta definir top:0 em seu lugar.

Por exemplo:

<div class="divFooter">UNCLASSIFIED</div>

CSS:

@media screen {
  div.divFooter {
    display: none;
  }
}
@media print {
  div.divFooter {
    position: fixed;
    bottom: 0;
  }
}
Comentários (22)

Eu acredito que a resposta correta é que HTML 5 e CSS3 não têm suporte para impressão de cabeçalho e rodapés de página em mídia `impressa'.

E enquanto você pode ser capaz de simular com ele:

  • quadros
  • blocos de posição fixa

cada um deles tem bugs que os impedem de ser a solução geral ideal.

Comentários (4)

Isto é algo que só queres imprimir? Você poderia adicioná-lo a cada página do seu site e usar o CSS para definir a tag como uma mídia somente para impressão.

Como exemplo, este poderia ser um cabeçalho de exemplo:

<span class="printspan">UNCLASSIFIED</span>

E no seu CSS, faça algo como isto:


    .printspan
    {
        display: none;
    }


    .printspan
    {
        display: inline;
        font-family: Arial, sans-serif;
        font-size: 16 pt;
        color: red;
    }

Finalmente, para incluir o cabeçalho/rodapé em cada página que você possa usar os includes do lado do servidor ou se você tiver alguma página sendo gerada com PHP ou ASP você poderia simplesmente codificá-la em um arquivo comum.

Editar:

Esta resposta destina-se a fornecer uma forma de mostrar algo na versão física impressa de um documento, sem o mostrar de outra forma. No entanto, tal como os comentários sugerem, não resolve' não resolve o problema de ter um rodapé em múltiplas páginas impressas quando o conteúdo transborda.

I'vou deixá-lo aqui no caso de ele'ainda assim é útil.

Comentários (2)