![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Задача: необходимо пустить страницу из браузера на печать на определенном принтере. В системе установлено N принтеров.
Крайне не желательна установка каких-либо доп. библиотек или программ. Скорее всего придется использовать ActiveX. Кому есть, что сказать или показать по этому поводу, милости прошу... --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Вобщем немного поизвращавшись решение нашлось. Его я опишу позже.
Основная задача свелась к тому, чтобы выводить на печать без появления диалога выбора принтера. Решение с использованием VBScript нашлось здесь, а с использованием JScript здесь. Вариан с JScript у меня все равно выводит диалог выбора принтера, а VBScript нет. Я пошел дальше, получился такой код:
При вызове printJsVb() и PrintVb() диалога нет, при вызове printJs() есть, почему? На мой взгляд ф-ции PrintVb() и printJs() идентичны. Или я не прав (VBScript не знаю вобще)? Тестил на MSIE6.0. --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Об этом даже в мелкософте вряд ли задумывались, движки VBS и JS разные с нуля.
Держи плюс за решение, осталось нарыть API, что бы принтер выбрать ![]() На встречу: а чем окошко браузера для распечатки не понравилось? Со стороны пользователя больше контроля, проще... -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
WIPS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
В принципе уже нарыл. Через Windows Script Host вызываем Shell, потом им в реестре меняем default'ный принтер, печатаем и возвращаем старый default'ный принтер на место. Чуть позже запостю код и полезные ссылки.
Дело в том, что пользователю будет небходимо отправлять на печать по нескольку десятков документов в день, причем в зависимости от "контекста" на разные принтеры. А выбор принтера вручную - лишняя трата времени. К тому же если уж очень хочется напечатать с настройками всегда остается Ctrl+P ![]() --------------------
Автопроизводители, машины, марки, модели! |
||||
|
|||||
WIPS |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 2 Всего: 8 |
Как обещал выкладываю код, а точнее коды
![]() Основной код:
Теперь одна функция на VBScript (зачем VBScrit см. выше):
И плюс ко всему WebBrowser объект через который мы эту самую печать без дилога и вызываем:
Добавлено @ 14:31 А теперь ссылки:
- Здесь описано как читать из реестра. - Здесь как в реестр писать и ещё кое что. - Здесь пути к ключам в реестре. Хочу заметить, что у меня в отличие от того что написано тут, принтер по умолчанию в Win98 прописан по такому пути "HKLM\\Config\\0001\\System\\CurrentControlSet\\Control\\Print\\Printers\\Default". На других 98-х не проверял. - Про WebBrowser object читаем MSDN. Вот и все ![]() --------------------
Автопроизводители, машины, марки, модели! |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |