如何在iframe中打印pdf?

在cbjsonline.com ,我正在尝试使用javascript自动在iframe中打印pdf。

目前,我的代码是 – (连接到打开iframe的链接的onclick) – document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);

有什么建议? 此方法仅适用于safari。

尝试将函数指针传递给setTimeout,而不是获得eval’d的表达式。

 document.getElementById('fancy_frame').onload = setTimeout( printWindow, 2500 ); // implemented in the HTML that is loaded in 'fancy_frame' function printWindow() { window.print(); } 

好的,我决定让用户打印页面。 我认为带有PDF的iFrames变化太大,试图用javascript打印。 如果有人想尝试这个,这就是我推荐的。 使用jquery load来检查资产,而不仅仅是加载,而不是onload handeler,因为adobe reader的延迟在计算机之间变化很大。 另外,在打印之前尝试命名和聚焦iframe(通过名称,iframe.print(),而不是window.print()),这样就不会尝试打印当前页面。 将scribd ipaper viewer用于此应用程序可能是一个更好的主意。