【问题标题】:How do I print a pdf from within an iframe?如何从 iframe 中打印 pdf?
【发布时间】:2023-03-10 10:32:01
【问题描述】:

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

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

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

【问题讨论】:

  • 您在其他浏览器中是否遇到错误?它们是什么?

标签: javascript jquery pdf iframe printing


【解决方案1】:

尝试将函数指针传递给 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();
}

【讨论】:

  • 谢谢!这就是我尝试做的事情,但是到目前为止加载时间各不相同,它没有用。此外,IE 尝试打印浏览器窗口,而不是 pdf,并给出了一些 js 错误。我可能只对 Firefox 和 Safari 这样做。
【解决方案2】:

好的,我决定让用户打印页面。 我认为带有 PDF 的 iFrame 在尝试使用 javascript 打印时变化太大。 如果有人想试试这个,这是我推荐的。 使用 jquery load,它检查资产,而不仅仅是加载,而不是 onload 处理程序,因为 adobe reader 的延迟因计算机而异。 另外,在打印之前尝试命名和聚焦 iframe(按名称,所以 iframe.print(),而不是 window.print()),这样它就不会尝试打印您当前所在的页面。 对于这个应用程序,最好只使用 scribd ipaper 查看器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-19
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多