【问题标题】:How to print a pdf?如何打印pdf?
【发布时间】:2012-12-06 13:33:24
【问题描述】:

我有一个 pdf 网址,嵌入在 iframe 的矩形区域中。我正在尝试单击按钮打印它。我的代码如下所示:

JavaScript 打印:

function printPDF(pdfUrl)
{
var w = window.open(pdfUrl);
w.print();
w.close();
}

HTML 代码:

<table>
<tr>
<td><input type="submit"  value="Print"
name="Submit" id="printbtn"
onclick="printPDF('http://www.irs.gov/pub/irs-pdf/fw4.pdf')" /></td>
</tr>

现在在 MF 中是这样的:

问题,它在 chrome 和 IE 中无法正常工作。我有 chrome 20 和 IE 8。在 chrome 中,打印窗口被加载到一个新选项卡中(没关系),但 pdf 没有在预览中加载。在 IE 中,pdf 只是在新选项卡中打开,并且没有出现打印提示。

在任何人问我之前,pdf 可能具有固有的打印功能。但我正在处理的 pdf 文件需要有一个打印按钮。人们,请在这里帮助我。有没有适用于所有3个浏览器的解决方案。

【问题讨论】:

  • 为什么不把window.print()放在onload你的iframe页面正文的事件上。
  • 我不明白你要我做什么。我也认为装载尸体是一个坏举动

标签: javascript pdf


【解决方案1】:

伙计们,刚刚找到了一个解决方案,对我来说效果很好。

function printPage(htmlPage)
{
    var w = window.open("about:blank");
    w.document.write(htmlPage);
    if (navigator.appName == 'Microsoft Internet Explorer') window.print();
    else w.print();
}

所以,如果是 MSIE,那么我们可以直接使用:window.print();

【讨论】:

  • 我从凯尔先生那里得到这个:stackoverflow.com/questions/2555697/…
  • 在 IE 上使用 window.print 而在其他所有东西上使用 w.print 背后的动机是什么?当然,如果你在 Internet Explorer 中,你最终会打印你调用 printPage 的页面而不是你传递给它的 URL?
猜你喜欢
  • 1970-01-01
  • 2021-05-14
  • 2012-11-19
  • 1970-01-01
  • 2012-07-19
  • 2016-04-19
  • 2014-04-04
  • 2012-10-09
  • 2011-07-10
相关资源
最近更新 更多