Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Печать / 9 сообщений из 9, страница 1 из 1
08.10.2008, 12:31
    #35582795
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
В сети имеется "туча" (12 штук) совершенно одинаковых конструкционно и одинаково сконфигурированных сетевых принтеров, подлюченных через порты TCP/IP на одном компьютере (сервере печати). Программа, работающая на этом компьютере получает задания на формирование отчетов (счетов) от "манагеров", формирует эти счета и отправляет на печать на нужный принтер (которых, как было сказано, всего 12 штук). При этом, печать выполняется на тот принтер, который стоит в данный момент "по умолчанию". Поэтому каждый раз, чтобы распечатать отчет "куда нужно", программе приходится в системе переназначать принтер по умолчанию. А теперь вопрос. Можно ли, в принципе, при печати из программы (VBasic) только как-то подменять IP адрес порта, на котором "висит" нужный принтер, а все остальное оставлять неизменным?

Сейчас на сервере печати стоит MS Win Ser 2003 (64 разр). Но можем поставить что угодно.
Спасибо тем, кто дочитал вопрос :).
...
Рейтинг: 0 / 0
08.10.2008, 22:51
    #35584343
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
Просто, раз принтеры "одинаковы конструкционно", объедините их в пул на сервере печати,
и распределением очереди печати будет заниматься он. у "манагеров" "принтер" будет только
один. Искать, надеюсь, "манагерам" не придется, на котором принтере из пула распечатался
документ?
...
Рейтинг: 0 / 0
09.10.2008, 17:32
    #35586370
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
Спасибо за ответ. Но здесь следует уточнить, что "манагеры" сидят в разных населенных пунктах, каждый со своим принтером :). По запросу "манагера" документ должен печататься именно на его принтер. Идея состоит в следующем. Я устанавливаю на сервере печати через порт TCP/IP ОДИН принтер на любой IP-адрес. Затем из программы я отправляю документы на этот принтер, подменив (как-то ??) ему IP-адрес порта, который однозначно связан с нужным "манагером".
...
Рейтинг: 0 / 0
09.10.2008, 17:58
    #35586461
Dick Johnson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
IMOLПри этом, печать выполняется на тот принтер, который стоит в данный момент "по умолчанию". Поэтому каждый раз, чтобы распечатать отчет "куда нужно", программе приходится в системе переназначать принтер по умолчанию. Обязательно печатать на принтер по умолчанию? Отправляемый на печать файл какого-то спец формата?
просто у меня тоже программа готовит документы и посылает на печать на разные принтеры. Документы в экселевском формате и печатаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim bkExcel As Excel.Workbook
.
.
select case paramPrint
   case "bw"
        CurrPrntr = "\\Srv07\HP 4250"
   case "col"
        CurrPrntr ="\\Srv07\HP Color LaserJet 2500"
end select
.
bkExcel.PrintOut Preview:=False, ActivePrinter:=CurrPrntr
т.е. в зависимости от потребности меняю принтер на который идет печать, не трогая принтер по умолчанию.
...
Рейтинг: 0 / 0
09.10.2008, 22:21
    #35586817
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
IMOLНо здесь следует уточнить, что "манагеры" сидят в разных населенных пунктах, каждый со своим принтером :). По запросу "манагера" документ должен печататься именно на его принтер.
Так у вас сервер терминалов поднят? А что, в свойствах RDP-подключения нельзя перенаправить локальные принтеры?
Они же будут у них по умолчанию...
...
Рейтинг: 0 / 0
10.10.2008, 13:10
    #35587838
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
Dick Johnson Обязательно печатать на принтер по умолчанию? Отправляемый на печать файл какого-то спец формата?
просто у меня тоже программа готовит документы и посылает на печать на разные принтеры. Документы в экселевском формате и печатаю так:
т.е. в зависимости от потребности меняю принтер на который идет печать, не трогая принтер по умолчанию.

Используется объект Printer, который, насколько мне известно, отсылает только на притер по умолчанию? Здесь даже это где-то обсуждалось.
...
Рейтинг: 0 / 0
10.10.2008, 13:19
    #35587872
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
AndreTM Так у вас сервер терминалов поднят? А что, в свойствах RDP-подключения нельзя перенаправить локальные принтеры?
Они же будут у них по умолчанию...

Сервер терминалов не поднят. Прошу прощения, но немного не понял. Наверное плохо изложил суть проблемы.

"Манагеры", работая на локальных компьютерах с клиентскими приложениями, отсылают на сервер только запрос: номер документа. На сервере все запросы обрабатывает специальная программа: выстраивает их в очередь, определяет откуда они пришли, формирует запрошенный отчет и отправляет его "взад" на "манагерский" принтер, который установлен на сервере через TCP/IP порт.
...
Рейтинг: 0 / 0
10.10.2008, 13:49
    #35587983
SoftParanoik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
Вообще то VB поддерживает коллекцию Printers
Код: plaintext
1.
2.
3.
4.
5.
Dim wPrn As Printer

For Each wPrn In Printers
    MsgBox wPrn.DeviceName
Next
...
Рейтинг: 0 / 0
10.10.2008, 15:42
    #35588456
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать
SoftParanoikВообще то VB поддерживает коллекцию Printers
Код: plaintext
1.
2.
3.
4.
5.
Dim wPrn As Printer

For Each wPrn In Printers
    MsgBox wPrn.DeviceName
Next



Маленькая проблема .... "Property DeviceName As String read-only" :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Печать / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]