Imprimindo um iFrame oculto no IE
Esta solução funciona bem no Firefox 3.0+, mas o IE8 / 7 está apenas imprimindo a página inteira, não o iframe específico.
Esta é a função que é chamada quando o link de impressão é clicado:
var printfunc= function(){
var url = http://someurl.aspx;
//This iFrame has style="visibility: hidden; position: absolute; left: -9000px;"
var printIFrame = GetObj('PrintIFrame');
printIFrame.src = url;
}
O aspx que é carregado no iframe oculto chama a função de impressão no manipulador de eventos onload:
<body onload="PrintJS.Print();">
A função de impressão:
this.Print = function(){
self.focus();
self.print();
return false;
}
Eu também tentei isso com "janela" em vez de "auto". Ambas as soluções funcionam bem em FF, mas o IE não parece ter o escopo correto. Alguma ideia? Uma solução entre navegadores seria ótima! Além disso, prefiro usar estilos de impressão CSS, mas o conteúdo que estou imprimindo é diferente daquele da página, daí a necessidade de carregar o html em um iframe oculto.