如何在不打开打印对话框的情况下从aspx页面打印
本文关键字:打印 情况下 aspx 对话框 | 更新日期: 2023-09-27 18:20:44
我想从aspx页面打印(正文部分{})。但我不想打开打印对话框。我已经在电脑里安装了不止一台打印机。但当我点击打印按钮时,它会直接在我的默认打印机中打印。我该怎么做,或者可以在web应用程序中做?
打印由浏览器处理,而不是您的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();
}