автоматическая печать страницы vbhtml без диалогового окна печати

Я создал простое приложение asp.net, которое принимает данные от пользователя на производственной линии, а затем ему необходимо сгенерировать 5 штрих-кодов и распечатать их. У меня есть страницы vbhtml, которые автоматически генерируют штрих-коды при вводе и вставке данных через форму веб-страницы. Они открываются и отображают штрих-коды. Мне нужно, чтобы они автоматически печатались при открытии страницы, пропуская диалоговое окно печати и переходя прямо к принтеру по умолчанию.

Я изучил JS window.print() и пару плагинов JQuery, но не могу найти свое решение.

Это будет использоваться только во внутренней корпоративной сети.

Вот дополнительная информация: Штрих-коды будут открываться на веб-странице для каждого кода. Каждый штрих-код будет напечатан на этикетке другого размера. Размер этикетки сохраняется как именованный макет в принтере, и я хотел бы определить макет бумаги при печати.


person Ryan    schedule 16.01.2014    source источник
comment
Я работал над подобной проблемой в кросс-браузерном способе, помещая метки (в моем случае) внутри pdf и встраивая javascript в pdf, чтобы он печатался при открытии - тогда, если браузер открывает PDF-файлы по умолчанию (возможно, поскольку он был включен машины, которыми мы управляли), принудительная загрузка PDF-файла привела к его печати.   -  person Basic    schedule 21.01.2014
comment
Спасибо за информацию. я тоже рассматриваю этот маршрут   -  person Ryan    schedule 22.01.2014


Ответы (1)


Если вы используете или можете использовать Firefox, существует плагин, который позволяет автоматическую печать без диалога печати.

Я также читал, что вы можете сделать это в IE, но требует ActiveX, например:

<script language=JScript>
function doprint() {
document.body.insertAdjacentHTML("beforeEnd", "<object id='idWBPrint' width=0 height=0 classid='clsid:8856F961-340A-11D0-A96B-00C04FD705A2'></object>");
idWBPrint.ExecWB(6, -1);
idWBPrint.outerHTML = ""; }
</script>

Или аналогично в VBScript:

<script language='VBScript'>
Sub Print()
       OLECMDID_PRINT = 6
       OLECMDEXECOPT_DONTPROMPTUSER = 2
       OLECMDEXECOPT_PROMPTUSER = 1
       call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>

Эта вспомогательная печать эффективно заменяет функцию печати по умолчанию. Все, что вам нужно в Javascript, это...

window.print();

Существует также коммерческий продукт, который может помочь.

person johna    schedule 21.01.2014
comment
Спасибо, Джон, я добавил еще немного информации в свой пост. Решения, которые вы мне дали, выглядят многообещающе. - person Ryan; 22.01.2014