Como posso imprimir um pdf de dentro de um iframe?
-
03-07-2019 - |
Pergunta
Na cbjsonline.com , eu estou tentando ter um pdf em uma impressão iframe automaticamente com o javascript.
Atualmente, o meu código é - (ligado ao onclick do link que abre o iframe) - document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);
Todas as sugestões? Este método só funciona no Safari.
Solução
Tente passar um ponteiro de função para setTimeout, em vez de uma expressão que se eval'd.
document.getElementById('fancy_frame').onload = setTimeout( printWindow, 2500 );
// implemented in the HTML that is loaded in 'fancy_frame'
function printWindow()
{
window.print();
}
Outras dicas
OK, eu decidi deixar o usuário imprimir a página. Acho iFrames com PDFs estão tentando demasiado variável para imprimir com javascript. Se alguém quiser tentar isso, isso é o que eu recomendo. Use a carga jquery, que verifica a existência de ativos, não apenas de carga, não o handeler onload, porque o atraso para o leitor de adobe varia muito entre computadores. Além disso, tente nomeação e focar a iframe antes de imprimir (por nome, por isso iframe.print (), em vez de window.print ()), de que maneira ele não vai tentar imprimir a página de seu actualmente. Pode ser uma idéia melhor apenas para usar o Scribd iPaper espectador para esta aplicação.