SOS Javascript #3 - Imprimir conteúdo específico
November 13, 2007 1:26 pmRecebi essa do Breno Saraiva:
"...o imprimir que você disse que tinha feito.. não encontrei no seu blog... então decidi mandar um email...eu tentei fazer aqui mais ele ta imprimindo todo o blog...tava pensando... como eu vou estar dentro do post... não tem como eu fazer botão imprimir dentro do post.. e selecionar só o que eu quero imprimir??? Obrigado"
Vou ser sincero me surpreendi, nem eu lembrava mais de ter comentado sobre isso, fiz faz tempo no meu trabalho.
Peguei ele hoje, traduzi, pois estava tudo feito em italiano, e modifiquei para funcionar de acordo com minha biblioteca de scripts.
Serei sincero, não fiz muitos testes, sei que o original funcionava bem, pois testei bastante, esse como posso ter perdido algo enquanto traduzia, ou modificava, pode apresentar algum erro, conto com vocês para “denunciarem”
Testei no FF2, IE7, Opera9, Netscape e Safari3 para windows, nestes funcionou bem, não testei no IE6, estou sem aqui.
No IE6 do multiple IE funcionou, mas como sei que tem muita diferença, não da pra levar a sério.
Antes de mais nada devo dizer que a função “print” do Javascript realmente imprime toda a pagina, não tem como escolher o que quer ser impresso, dai partimos para as gambiarras, ou gambware
O que fiz no script?
Criei um iframe por código, que carrega o arquivo “imprime.htm”, é este arquivo “imprime.htm” que coloquei a chamada para a função “print”.
Ao clicar em imprimir eu pego o conteúdo da div indicada e jogo para dentro desse iframe, logo ele vai dar o print no iframe, e imprimir somente o conteúdo do mesmo.
E como funciona isso tudo, o que tenho que mudar?
Estou disponibilizando um arquivo de modelo, que é o “index.htm”, como verão neste arquivo, eu incluo 2 arquivos javascript, “fs.js” e “fsprint.js”.
O primeiro são algumas funções prontas para agilizar o trabalho e o segundo é o controle da impressão, onde os objetos são criados etc..
Tem ainda o arquivo “imprime.css”, que é o CSS para poderem estilizar a janela de pré-visualização da impressão.
Para mandar imprimir depois de qualquer lugar da pagina basta inserir o seguinte código no link:
onclick="imprime('id_do_objeto_a_ser_impresso')"
Clique no link abaixo para baixar e ver a pagina de teste:
FS Print - Imprimir com Javascript
Duvidas? erros? sugestões? como sempre, muito bem vindos, escrevam e responderei assim que possível
Categories: Javascript, SOS Javascript
8 Comentarios »





