Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Расскажу, как я решил данную проблему. Решение, как всегда, пришло из мира linux.
Сразу скажу. У меня это отработало на принтере HP 1000 и HP M1005. На кэнонах не пробовал (за неимением таких, но, теоретически, должно отработать, кто попробовал - скажите).
Все сводится к тому, что ЛОКАЛЬНО устанавливается другой принтер с нормальными дровами. Я использовал HP 1200 PS (ms). Дополнительно нужно установить две программы (опять - же, на клиенте), одна - redmon, другая - ghostscript. (ссылки на них дам в конце)
Последовательность следующая.
1) Устанавливаем redmon. Эта штука создает новый виртуальных порт принтера, Redirect Port.
2) устанавливаем ghostscript. Я установил в папку c:\gs.
3) с помощью мастера создаем новый принтер, говорим, что не надо искать, вешаем его на порт RPT1.
4) в каталог c:\gs кладем файлик (mswinpr.rsp) следующего содержания
-Ic:\gs\gs8.15\lib;c:\gs\fonts
-sDEVICE=mswinpr2
-dNOPAUSE
-dSAFER
-sPAPERSIZE=a4
5) заходим в свойства созданного принтера, переходим на вкладку Порты, выбираем свойства порта RPT1, в строке Redirect this port to the program: задаем:
c:\gs\gsX.XX\bin\gswin32c.exe
Именно gswin32c.exe, а не gswin32.exe
В строке Arguments for this program are: задаем:
@c:\gs\mswinpr.rsp -sOutputFile="%1" -
Здесь после -sOutputFile="%1" обязательно должен идти пробел, а за ним дефис!
Ранее файл c:\gs\mswinpr.rsp уже должен быть создан.
В строке Output: выбираем:
Program handles output
# В строке Run: выбираем:
Hidden
(отказываемся от дополнительных всплывающих окон при печати.)
# Можно включить флажок Print Errors
6) Сохраняем все это хозяйство. По идее, можно уже пользовать новый принтер. Например, можно попробовать распечатать на него пробную страницу. Должно появиться окошко с выбором принтера, на который нужно уже физически распечатать то, что мы отправили на виртуальный.
Но я еще кое - что изменил. а именно в свойствах порта указал следующие параметры -sOutputFile="%printer%HP Laserjet М1005" - , где HP Laserjet М1005 - это имя моего виндового принтера. Таким образом я получил следующее: когда отправляешь задание на виртуальный принтер, на две - три секунды появляется черное досовское окошко и задание печатается уже на реальном принтере.
Сразу скажу о недостатках.
1) разметка страницы. У меня почему - то не совпадала. ) Но я не стал заморачиваться, меня и так устраивает.
2) при печати документа, содержащего рисунок с прозрачным фоном, то, что за фоном - не пропечатывается.
Забыл сказать. Для общего доступа я выставил оба принтера.
Что у меня получилось. В терминальные сессии мапятся только виртуальные принтеры. (на сервер никаких дров ставить не нужно, ибо дрова стандартные). Печать с 1с идет нормально, спулер не падает, принтеры корректно удаляются, уже забыл, что когда - то постоянно получал "Перенаправленные документы удаленного рабочего стола". Все остальное печатается уже на реальный принтер (в том числе по сети). Будут вопросы - пишите.

P.S.: рецепт приготовления брался с http://www.nixp.ru/cgi-bin/print.pl?...nting_in_linux

Отправлено: 10:17, 06-01-2008 | #11