Remover cabeçalho e rodapé do window.print()

Estou a utilizar window.print() para imprimir página, mas tenho cabeçalho e rodapé contendo título de página, caminho do ficheiro, número de página e data. Como removê-los?

Experimentei também a folha de estilos de impressão.

#header, #nav, .noprint
{
display: none;
}

Por favor, ajudem. Obrigado.

Em Chrome it's é possível esconder este cabeçalho/rodapé automático usando

@page { margin: 0; }

Uma vez que o conteúdo se estenderá aos limites da página's, o cabeçalho/rodapé de impressão da página estará ausente. Neste caso, é claro que deverá definir algumas margens/paddings no seu elemento corporal para que o conteúdo ganhe't se estenda até ao limite da página's. Uma vez que as impressoras comuns apenas podem't obter impressões sem margens e não's provavelmente não é o que pretende, deve usar algo como isto:

@media print {
  @page { margin: 0; }
  body { margin: 1.6cm; }
}

Como Martin salientou num comentário, se a página tiver um elemento longo que passe uma página (como uma grande tabela), a margem é ignorada e a versão impressa parecerá estranha.

Na altura original desta resposta (Maio de 2013), só funcionava no Cromo, não tendo a certeza agora, nunca mais precisou de tentar novamente. Se precisar de suporte para um navegador que possa't hable, pode criar um PDF na mosca e imprimir isso (pode criar um PDF auto-impresso com JavaScript incorporado nele), mas isso's é um enorme incómodo.

Comentários (6)

Firefox :

  • Adicionar moznomarginboxes atributo em ``

Exemplo :

Comentários (2)

Tenho a certeza que Adicionar este código no seu ficheiro css resolverá o problema


    @page 
    {
        size: auto;   /* auto is the initial value */
        margin: 0mm;  /* this affects the margin in the printer settings */
    }

Pode visitar isto para saber mais sobre isto

Comentários (2)