如何在不打开打印对话框的情况下从aspx页面打印

本文关键字:打印 情况下 aspx 对话框 | 更新日期: 2023-09-27 18:20:44

我想从aspx页面打印(正文部分{})。但我不想打开打印对话框。我已经在电脑里安装了不止一台打印机。但当我点击打印按钮时,它会直接在我的默认打印机中打印。我该怎么做,或者可以在web应用程序中做?

如何在不打开打印对话框的情况下从aspx页面打印

打印由浏览器处理,而不是您的ASPX页面。所以你不能这样做。

不能对所有浏览器都这样做。打印是客户端的,不能通过打印对话框。

有一个旧的脚本,但除了IE和Netscape之外,它在任何地方都不起作用。而且它非常古老:

function printit() {
  if ((navigator.appName == "Netscape")) { 
    window.print() ; 
  } else { 
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
    WebBrowser1.ExecWB(6, -1); WebBrowser1.outerHTML = ""; 
  }
}

是的,你可以,但你需要使用像一样的第三方类''程序集

pdf.sharp

或者自己写一个。。。

添加iframe

 <iframe id="ifmcontentstoprint" style="height: 0px; width: 0px; position: absolute"></iframe>

并使用以下javascript函数

 function printform() {
        var content = document.getElementById('<%= PrintDivID.ClientID %>').innerHTML;
        var pri = document.getElementById("ifmcontentstoprint").contentWindow;
        pri.document.open();
        pri.document.write(content);
        pri.document.close();
        pri.focus();
        pri.print();
    }