Como remover o URL da página de impressão?

102

Quero remover o URL que é impresso na parte inferior da página.

gostar:

yomari.com/.../main.php?sen_n

Como pode ser omitido ou impedir que seja impresso?

Para ser mais específico, há alguma maneira de evitar que o URL da página, a data e o título da página sejam impressos durante a impressão da página da web?

Martin Thoma
fonte
3
Isso pode ser feito de forma programática? É realmente uma configuração de página do navegador!
Shoban
Totalmente uma coisa de 'configuração de página do navegador'. Mas eu achei este tutorial um pouco útil para CSS de página de impressão.
Mayeenul Islam

Respostas:

123

O exemplo de código a seguir funcionará para você,

<style type="text/css" media="print">
@page {
    size: auto;   /* auto is the initial value */
    margin: 0;  /* this affects the margin in the printer settings */
}
</style>

veja a resposta em Desativar opções de impressão do navegador (cabeçalhos, rodapés, margens) na página?

e especificação da @page

Chamika Sandamal
fonte
3
No Firefox 20.0, isso não remove o URL da visualização da impressão
Mirzhan Irkegulov
2
Solução do Firefox: stackoverflow.com/questions/2192806/…
Konstantin Vdovkin
Ótima resposta. Melhor ainda, basta definir a margem inferior, por exemplomargin-bottom: 0mm;
CompanyDroneFromSector7G
2
Isso realmente funcionou no meu Firefox 50 @MirzhanIrkegulov
aexl
O iniciador de tópico perguntou como remover os colontitles superior e inferior (título do número da página do url) que um navegador adiciona durante a visualização da impressão.
Pavel Nazarov,
39

encontrei algo no próprio navegador.

Experimente estes passos. aqui foram mencionadas as etapas para desativar o cabeçalho e rodapé em todos os três navegadores principais.

Chrome Clique no ícone Menu no canto superior direito do navegador. Clique em Imprimir. Desmarque cabeçalhos e rodapés na seção Opções.

Firefox Clique em Firefox no canto superior esquerdo do navegador. Passe o mouse sobre Imprimir e clique em Configurar página. Clique na guia Margens e Cabeçalho / Rodapé. Altere cada valor em Cabeçalhos e rodapés para - em branco--.

Internet Explorer Clique no ícone de engrenagem no canto superior direito do navegador. Passe o mouse sobre Imprimir e clique em Configurar página. Altere cada valor em Cabeçalhos e rodapés para -Esvazie-.

Jah Yusuff
fonte
18

Mostrar a URL é uma preferência do cliente do navegador, não acessível aos scripts em execução na página (vamos enfrentá-lo, uma página também não pode ser impressa silenciosamente).

Para evitar o "vazamento" de informações por meio da string de consulta, você pode enviar via POST

Rowland Shaw
fonte
1
nããão ... O POST não é um mecanismo de criptografia - é uma dica sobre os possíveis efeitos colaterais da solicitação.
troelskn
Em vez de imprimir uma longa string de consulta com várias linhas. Terei o maior prazer em imprimir apenas o url
Shoban
a string de consulta faz parte do url. se o url for muito longo, você deve corrigir isso.
troelskn
4
Eu não disse que era uma coisa de criptografia - ela remove os parâmetros de consulta do URL, que era um fator de atenuação solicitado
Rowland Shaw
11

Se você definir a margem de uma página usando o código abaixo, o cabeçalho e os rodapés serão omitidos da página impressa. Eu testei isso no FireFox e no Chrome.

<style media="print">
 @page {
  size: auto;
  margin: 0;
       }
</style>
Denver Chiwakira
fonte
1
Observe que isso remove a margem entre as páginas no Firefox. Exemplo: i.imgur.com/krDlC1K.png
Blaise
8

Estou falando sobre o Mozilla Firefox (espero que seja da mesma forma em outros navegadores também).

Clique no menu do Firefox , vá para imprimir , selecione a configuração da página no submenu de impressão. Uma janela pop-up aparecerá na tela, vá para a guia "Margem e Cabeçalho / Rodapé" .

Nesse caso, selecione "EM BRANCO" para o cabeçalho / rodapé conforme o requisito antes da impressão. Você pode verificar a visualização para confirmação.

Espero que isso ajude.

Mitravind Garg
fonte
7

Isso me ajudou a: Imprimir página sem links

@media print {
    a[href]:after {
        content: none !important;
    }
}
mihaela
fonte
você pode explicar isso
M.suleman Khan
Tive um problema com hiperlinks de bootstrap mostrando seu conteúdo href na página impressa. Essa solução me ajudou a resolver o problema.
Mohsin
3

Você pode remover a exibição de url no documento impresso através das configurações do seu navegador. Basta clicar em arquivo-> configuração da página-> cabeçalho e rodapé definir todas as coisas como em branco. ajudar você

Anju
fonte
2

Não sei se você está falando de um rodapé no seu gráfico real ou do url que o processo de impressão no navegador está fazendo.

Se for o url o processo de impressão fica realmente a cargo do navegador se ele tem um recurso para desligar isso.

Se for a informação do rodapé, eu recomendaria usar uma folha de estilo de impressão e dentro dessa folha de estilo para fazer

display: none;

Para o ID ou classe específica do rodapé.

Para fazer uma folha de estilo de impressão, você precisa adicioná-la ao cabeçalho.

<link rel="stylesheet" type="text/css" href="/css/print.css" media="print" />
Ólafur Waage
fonte
2

Hoje em dia, você pode usar history APIpara modificar o URL antes de imprimir e, em seguida, alterar novamente:

var curURL = window.location.href;
history.replaceState(history.state, '', '/');
window.print();
history.replaceState(history.state, '', curURL);

Mas você precisa fazer um PRINTbotão personalizado para o usuário clicar.

James Yang
fonte
Usando a sua solução, ainda vejo " domain-name.com " impresso no canto superior direito. Ele removeu tudo depois disso.
Tod Birdsall
1

No Google Chrome, isso pode ser feito definindo as margens como 0 ou, se a impressão for ruim, ajustando apenas o suficiente para empurrar o texto indesejado para as áreas não imprimíveis da página. Eu tentei e funciona: D

insira a descrição da imagem aqui

Ardee Aram
fonte
1

O problema do navegador pode ser resolvido por estes:

<style type="text/css" media="print">
      @media print
      {
         @page {
           margin-top: 0;
           margin-bottom: 0;
         }
         body  {
           padding-top: 72px;
           padding-bottom: 72px ;
         }
      } 
</style>
Md. Hasibul Huq
fonte
Votado porque você inclui CSS que coloca as margens de volta no lugar. THX!
Tod Birdsall
0

Eu concordaria com a maioria das respostas dizendo que é uma configuração do navegador, mas ainda assim você pode conseguir o que deseja via COM. Lembre-se de que a maioria dos navegadores ainda terá problemas com isso e até mesmo o IE aumentará a barra de segurança COM para os usuários. Portanto, a menos que não seja algo que você esteja oferecendo dentro da organização, não o faça.

cerquilha
fonte
0

Eu tenho o mesmo problema. Gostaria de saber se é possível criar o HTML para impressão através de um plugin jquery: http://www.recoding.it/?p=138

Em seguida, envie o HTML para um script php (usando uma chamada ajax), gere um pdf com http://www.xhtml2pdf.com/ ou http://code.google.com/p/wkhtmltopdf/ .

Posteriormente, o pdf pode ser exibido (definindo o tipo de conteúdo apropriado e renderização direta) ou exibido por um redirecionamento http para o pdf gerado.

Os pdfs gerados na pasta pfd_for_printing podem atuar como cache e ser excluídos por um trabalho uma vez por dia.

chris
fonte
Quero imprimir parte da página (com estilos) em PDF ... Como posso fazer isso? stackoverflow.com/questions/25082395/…
SearchForKnowledge de
0

No Chrome 57, o seguinte funcionou para mim, se você tiver controle da página HTML que precisa ser impressa (no meu caso, precisei imprimir uma pequena etiqueta de 3 x 1 polegada):

  • remova o elemento de título HTML do cabeçalho (temporariamente usando jquery ou permanentemente se a página não precisar de um título)
  • defina a margem da @page para 0 conforme mencionado por @Chamika Sandamal

Isso resultou na impressão de uma página que continha apenas o corpo do texto, sem URLs, sem #s de página etc.

Johnny
fonte
0
<style type="text/css" media="print">
  @page {
    size: auto;  
    margin: 0;  
  }
</style>
//now set manual padding to body
<style>
  body{
    padding-left: 1.3cm;
    padding-right: 1.3cm; 
    padding-top: 1.1cm;
  }
</style>
Rajiv Chaturvedi
fonte
este código remove apenas a margem. É por isso que o url não exibe. mas quando você usa isso, você perde o número da página.
Pramod Deshmukh
desejo remover apenas o url da página impressa, não o número da página
Pramod Deshmukh
0
@media print { a[href]:after { content: none !important; } }
Rashid Khitilov
fonte
0

Isso está funcionando bem para mim usando jquery

<style>
  @media print { @page { margin: 0; } 
   body { margin: 1.6cm; } }
</style>
Mugeesh Husain
fonte
-1

Talvez você possa experimentar o Chrome (Provavelmente Safari também)

O url e o número da página no cabeçalho e rodapé não ficam visíveis quando imprimo em PDF no OSX com Google Chrome.

Não tenho certeza se isso se aplica ao Windows

PhilD
fonte
-1

Eu tenho um truque para removê-lo da página de impressão no Firefox. Usa isto:

<html moznomarginboxes mozdisallowselectionprint>

Na tag html você deve usar moznomarginboxes mozdisallowselectionprint. Tenho certeza que vai te ajudar muito.

Ariano
fonte
-1
@media print {
    #Header, #Footer { display: none !important; }
}

Verifique este link

Lien Vu
fonte
1
Olá, bem-vindo ao SO, obrigado por tentar responder a esta pergunta. Você pode fornecer mais explicações por trás de sua resposta e a lógica por trás de sua correção? Felicidades!
James Wong - Reintegrar Monica em
Olá, obrigado, isso funciona perfeitamente no Chrome (pelo menos), não sei por que as pessoas votaram nesta solução perfeita.
Saman
-1

Esta será a solução mais simples. Tentei a maioria das soluções na internet, mas só isso me ajudou.

@print {
    @page :footer {
        display: none
    }

    @page :header {
        display: none
    }
}
Zanyar J.Ahmed
fonte
1
Em qual navegador isso funciona? No Chrome 80 não funciona.
Ruben S
-3

Bem, eu pesquisei de cima a baixo porque precisava da resposta para mim e para meus projetos, e cheguei à conclusão de que, na verdade, não importa quais informações você mostre no endereço da url, ela vai até:

if (!$_SESSION["valid_user"]) 

Portanto, mesmo que alguém apenas digite o endereço exato da sua página impressa, ele receberá ... Página de login :)

Aleksandar
fonte