Imprimir área específica do site com CSS

Já precisou imprimir somente uma área específica do site? ထိုအခါ, como delimitar esta área de impressão? CSS é a solução!

ပြဿနာ

Cenário: Estava lá todo o site na tela, e bem no meio dele uma espécie de relatório (dados tabulados). Como imprimir apenas a área que eu tinha interesse?

ဖြေရှင်းနည်း

Como sabemos, @media print é um recurso CSS que nos permite controlar o estilo do que será impresso. Vamos analisar duas situações.

Not Print

1° CasoImprimir tudo, mas excluir uma ou mais áreas da impressão
Quando você tem uma área que deseja excluir da impressão é fácil, basta criar uma uma class dentro de@media printocultando a visibilidade e atribuí-la ao elemento (tag html) que você não quer imprimir. No caso abaixo, foi criado a classe .notprint e atribuída a uma DIV que não deve ser impressa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<ဦးခေါင်းကို>
  <ဘှဲ့>Not Print</ဘှဲ့>
  <style type="text/css">
      @မီဒီယာ print { 
          .notprint { visibility:hidden; } 
      }
  </style>
</ဦးခေါင်းကို>
<ကိုယ်ခန္ဓာ>
  <strong>Isto vai ser impresso!</strong>
  <div class="notprint">
      Já isto, não será impresso!
  </div> 
  Aqui também será impresso!             
</ကိုယ်ခန္ဓာ>
</html>

Yes Print

2° CasoIncluir uma única área na impressão, e excluir demais
Mas e quando for o contrário, အခြားစကား, e se eu quiser imprimir apenas uma área específica, como uma DIV, ဥပမာအား, e não quiser que o restante do site apareça na impressão. Eis o motivo deste Post! ရှင်းလင်းသော, também usaremos o @media print, só que raciocinando de forma diferente. ဤကိစ္စတွင်အတွက်, ocultamos a visibilidade de todos (*) os elementos do site e, em seguida, damos visibilidade apenas ao elemento que queremos imprimir, devidamente designado por um ID que chamei de #yesprint. ဒါကြောင့်, podemos, ဥပမာအား, imprimir apenas conteúdo de uma DIV específica.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<ဦးခေါင်းကို>
  <ဘှဲ့>Yes Print</ဘှဲ့>
  <style type="text/css">
    @မီဒီယာ print {
      * {
        visibility:hidden;
      }
 
      #yesprint {
        visibility:visible;
        position: absolute;
        top:0;
        left:0;                                     
      }                                  
    }
  </style>
</ဦးခေါင်းကို>
<ကိုယ်ခန္ဓာ>
  <strong>Isto não vai ser impresso!</strong>  
  <div id သည်="yesprint">
      Já isto e, apenas isto, será impresso!
  </div> 
  Aqui também não vai sair na impressão!            
</ကိုယ်ခန္ဓာ>
</html>

Caso não ocorra o efeito desejado, possivelmente seja devido a sua template estar pegando estilo residual de algum CSS acima (pai). Tente usar !important ou ajustar o código para forçar o resultado esperado. Veja também se não há alguma tag quebrada, sem abrir ou fechar.

Testei esta solução no Internet Explorer 9, Firefox ကို 14.0.1 e Chrome 21.0.1180.8. Todos pareceram funcionar corretamenteLembro também, que caso queira imprimir cores e imagens do plano de fundo, isto deve ser configurado diretamente em cada navegador. ဥပမာအား, no Internet Explorer, vá no menu Arquivo > Configurar Página e habilite a opçãoImprimir cores e imagens do plano de fundo“, conforme figura abaixo. Nesta mesma janela, é possível fazer outros ajustes de impressão.

Veja também: Tornar DIV invisível ao imprimir | CSS diferenciado para impressão.

ထို… use por sua conta e risco!

စုစုပေါင်း access: 14080

4 ပြန်လည်သုံးသပ်ခြင်း “Imprimir área específica do site com CSS

    • Copie o código exatamente como está no exemplo do Post para seu servidor e teste para ver se funciona. Tente também colocar o CSS embutido direto na página (e não fazendo chamada externa), só para fins de testes. Às vezes, se você estiver usando código de CSS de terceiros (como plugins), pode ser que alguma Tag esteja definida como important!. Use o Firefox com o Firebug e procure identificar corretamente as classes ou ids CSS que você está querendo modificar. Use o ponteiro do Firebug para isto! E por aí vai

  1. Edson က de မိုရေးမြို့ထဲ ကပြောပါတယ်:

    အလွန်ကောင်းသောဆောင်းပါး. ဒါဟာသိပ်ငါ့ကိုကူညီပေးခဲ့သည်. ကျေးဇူးတင်ပါတယ်.

တစ်ဦးစာပြန်ရန် Leave

သင့်အီးမေးလ်လိပ်စာပုံနှိပ်ထုတ်ဝေမည်မဟုတ်ပါ. တောင်းဆိုနေတဲ့လယ်ယာနှင့်အတူမှတ်သားထားတဲ့ *