Как сделать так, чтобы ghostscript печатал pdf в кластере при сбое по локальной очереди?

У меня есть приложение, которое выполняет печать физических документов в локальных очередях. Тем не менее, так как это приложение выполняется в среде отказоустойчивости кластера, я не могу перечислить или использовать очереди печати из среды отказоустойчивости кластера. Ghostscript перечисляет только очереди с локального сервера (в качестве отдельной установки).

Есть ли способ распечатать с использованием очереди кластера, не разделяя (устанавливая) ее безумно?

Я использую командную строку для этой цели:

-q -dBATCH -dNOPAUSE -dNODISPLAY   -c  "mark /Duplex true /NoCancel true   /OutputFile (%printer%Ricoh c2051) /UserSettings << /DocumentName  (Test) >> (mswinpr2)finddevice putdeviceprops setdevice"  -f "duplex.pdf"

использование \ server \ имя принтера не работает.

1 ответ

Решение

Нет, невозможно распечатать Ghostscript на принтере, который недоступен для локальной системы. Я объяснил причину этого в другом посте недавно, но здесь это снова:

При печати "ввода" (PostScript, PDF, XPS, PCL, PXL) на физическом принтере в системе Windows (с использованием устройства mswinpr2) Ghostscript не требуется знать какие-либо характеристики принтера. Что он делает, так это запрашивает характеристики принтера для выбранного принтера из Windows, а затем переводит входные данные в растровое изображение требуемого размера. Он создает контекст устройства, совместимый с принтером, и помещает растровое изображение в контекст устройства. Затем он сообщает контексту устройства, что нужно распечатать себя на принтере.

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

В результате устройство mswinpr2 может печатать только на принтере, который известен системе Windows, на которой он работает. Если вы не можете вывести список принтеров из Windows, mswinpr2 не сможет распечатать его.

Другие вопросы по тегам