Как печатать со страницы aspx, не открывая диалоговое окно печати - PullRequest
0 голосов
/ 18 января 2012

Я хочу напечатать со страницы aspx (часть тела {}). Но я не хочу открывать диалоговое окно печати. Я уже установил более одного принтера на моем компьютере. Но когда я нажимаю на кнопку «Печать», она напрямую печатается на моем принтере по умолчанию. Как я могу это сделать или это возможно сделать в веб-приложении?

Ответы [ 4 ]

1 голос
/ 18 января 2012

Вы не можете сделать это для всех браузеров. Печать на стороне клиента, и вы не можете пропустить диалог печати.

Существует старый скрипт , но он не работает нигде, кроме 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 = ""; 
  }
}
1 голос
/ 18 января 2012

Печать обрабатывается браузером, а не вашей страницей ASPX.Так что вы не можете сделать это.

0 голосов
/ 18 января 2012

добавить 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();
    }
0 голосов
/ 18 января 2012

да, вы можете, но вам нужно будет использовать сторонний класс \ сборку, который делает это вроде

pdf.sharp

или просто написать один самостоятельно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...