【问题标题】:Directly Print PDF in client side without viewing it直接在客户端打印PDF而不查看它
【发布时间】:2012-05-22 03:25:03
【问题描述】:

我在服务器中有 PDF 文件,当用户单击我的 asp.net 页面上的打印按钮时,我需要直接显示打印对话框而不显示 PDF。我怎样才能做到这一点?请指导我。

【问题讨论】:

  • 据我所知,仅使用 JavaScript 是不可能的。不过,可能有使用 Flash 的解决方案。

标签: asp.net pdf printing dom-events c#-3.0


【解决方案1】:

这仅适用于 IE,但您可以将 Adob​​e ActiveX 控件嵌入到 HTML 页面中,如下所示:

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" style="height:75%; width: 100%; display: none;" id="viewer" name="viewer" VIEWASTEXT>
    <param name="src" value="document.pdf">
</object>

然后在打印按钮的onclick中你可以这样做:

viewer.printWithDialog();

也许可以针对其他浏览器进行调整。

【讨论】:

  • 当代码调用该方法时--viewer.Print();抛出错误,如对象不支持此方法。
  • 这里是 Adob​​e ActiveX 控件文档的 URL。您还可以尝试其他方法。我们今天在 IE 中使用 VBScript 执行此操作,所以我知道它有效 :) cgplusplus.com/online-reference/maxscript-reference/source/…
  • 实际上 - 我们正在使用 regedit hack 打印没有对话框。我认为你需要调用 .printWithDialog() 来代替......我在上面编辑了我的帖子以反映。
猜你喜欢
  • 2011-11-09
  • 1970-01-01
  • 2014-04-05
  • 2011-05-27
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多