我想从aspx页面(正文部分{})打印。但我不想打开打印对话框。我已经在我的计算机上安装了多台打印机。但是,当我点击打印按钮时,它会直接在我的默认打印机中打印。我该怎么做或是否可以在Web应用程序中执行此操作?
答案 0 :(得分:1)
打印由浏览器处理,而不是ASPX页面。所以你不能这样做。
答案 1 :(得分:1)
您无法为所有浏览器执行此操作。打印是客户端,您无法通过打印对话框。
有一个old script,但它不起作用任何地方执行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 = "";
}
}
答案 2 :(得分:0)
是的,你可以,但你需要使用像
那样的第三方类\ assemblypdf.sharp
或者自己写一个......
答案 3 :(得分:0)
添加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();
}