我可以使用javascript在Internet Explorer和Firefox中打印PDF文件,如下:
<script type="text/javascript">
<!--
if (navigator.appName == 'Microsoft Internet Explorer')
{
document.write('<object id="agreementPDF" type="application/pdf" data="file.pdf" width="100%" height="500"></object>');
}
else
{
document.write('<iframe id="agreementFrame" src="file.pdf" width="100%" height="500px"></iframe>');
}
//-->
</script>
<script type="text/javascript">
<!--
function printAgreement()
{
if (navigator.appName == 'Microsoft Internet Explorer')
{
document.getElementById('agreementPDF').print();
}
else
{
var agreement = document.getElementById('agreementFrame');
agreement.focus();
agreement.contentWindow.print();
}
}
//-->
</script>
<input type="button" name="print" onclick="printAgreement();" value="Print" />
但是,在Opera中,打印功能不起作用。
如何让它发挥作用?
感谢。
答案 0 :(得分:1)
在打印对话框中,看起来Opera需要更多的手握。以下是先前在堆栈溢出:
上提出/回答的一些非常类似的问题window.print not working with opera browser
print() not working on opera browser
Print iframe content in Opera and Chrome
好像你需要使用不同的* .print()函数或在页面加载完成后触发事件。
希望这些链接有所帮助。
答案 1 :(得分:0)
您是否尝试过在窗口的onload事件上打印?
window.onload = function(){
window.print();
};