И опять печать...

Полина
Дата: 22.05.2008 15:23:28
Надо открывать страницу, печатать ее и закрывать.
Для печати в (недрах инета) нашла код:
function StartPrint(){
    if (document.all){
      var OLECMDID_PRINT = 6;
      var OLECMDEXECOPT_DONTPROMPTUSER = 2;
      var OLECMDEXECOPT_PROMPTUSER = 1;
      var WebBrowser = "<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
      document.body.insertAdjacentHTML("beforeEnd", WebBrowser);
      //WebBrowser1.ExecWB(7, 1); //Вызывает диалог 'параметры страницы'
      WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER); //печатает
      WebBrowser1.outerHTML = "";
     }    else
     {
           self.print();     } //диалог на печать    
}
Вставила в метод OnLoad. Работает, но вне зависимости от параметра (OLECMDEXECOPT_DONTPROMPTUSER или OLECMDEXECOPT_PROMPTUSER) на печать не выводит!!! Выходит окно выбора принтера. Кто с этим сталкивался помогите плз!!!
Vladimir T
Дата: 25.06.2008 21:22:06
WebBrowser игнорирует параметр (OLECMDEXECOPT_DONTPROMPTUSER или OLECMDEXECOPT_PROMPTUSER).

Поэтому окно выбора принтера будет всегда появляться.

Можно попытаться программно эмулировать подтверждение того что принтер выбран -- в окне выбора принтера.

Тоесть эмулировать клик по кнопке.
Владимир Тришин

http://programmer-kharkov.com
ShSerge
Дата: 25.06.2008 21:37:14
Ну это - ИЕ онли. Может, лучше - по-человечески?
Vladimir T
Дата: 26.06.2008 09:58:57
Так компонент WebBrowser -- это на движке ИЕ онли.

Можно и по человечески -- но для этого придётся написать патч, чтобы ИЕ реагировал на

OLECMDEXECOPT_DONTPROMPTUSER

А это думаю задача немного сложнее -- чем эмулировать клик по кнопке.
Владимир Тришин

http://programmer-kharkov.com