Действия, зависящие от устройства (такие как сшивание, а также дуплекс, Tumble, Collate и т. Д.), Как ожидается, будут управляться на уровне языка 2 или 3 с помощью вызова setpagedevice.
Некоторые функции, зависящие от устройства (например,Дуплекс) четко определены в спецификации, другие менее четко определены, и производители могут создавать собственные пары ключ / значение, которые полностью не определены.То, как работает оператор setpagedevice, будет игнорировать все, что он не понимает.
Так что я бы ожидал:
<< /Staple 3 >>
Ничего не делать.Это просто создает словарь с ключом / скобой и значением 3, а затем просто оставляет этот операнд в стеке операндов, где он будет оставаться до конца задания.
Другие ваши примеры передаютсловарь для setpagedevice, так что они могут что-то сделать, хотя Collate и BindingLocation не будут влиять на сшивание!Обратите внимание, что отправка их в конце программы PostScript не принесет ничего полезного, потому что к тому времени программа будет завершена, и страницы будут напечатаны.
Также возможно, что она будет помещена в началоПрограмма PostScript также не будет иметь никакого эффекта, поскольку возможно, что содержимое программы начинается с сброса устройства до его состояния по умолчанию.Если это так, то вам нужно вставить вызов setpagedevice в программу в соответствующем месте.Если программа совместима с DSC, то есть определенное место, куда вы можете ее поместить, если нет, то, честно говоря, все ставки выключены.Но большинство программ PostScript совместимы с DSC.
Проблема в том, что точные детали требуемых значений являются специфическими для производителя, поэтому невозможно сказать вам, что именно вы должны использовать.
Лучший способ выяснить это, как правило, выбрать «печать в файл» и распечатать документ с настройкой, которая, как вы знаете, включит сшивание (предварительно опробовав его при необходимости).Как только вы это сделаете, вы можете открыть полученный файл в текстовом редакторе и просмотреть его для установки сшивания.
К сожалению, панель управления принтера может выполнять все виды операций, и может даже не контролироватьпринтер через PostScript.Вы уверены, что этим можно управлять через PostScript?Вы пытались связаться с производителем и обратиться в его службу поддержки?
Если вы можете захватить программу, как указано выше (в идеале, когда печатный контент максимально прост, чтобы уменьшить размер и сложность), опубликуйте его в открытом доступе.URL где-нибудь, а затем поместите URL здесь.Я посмотрю на это.Если бы вы могли опубликовать программу PostScript, которую вы также хотите изменить, тогда я скажу вам, куда вставить код в эту программу.
Если вы не можете захватить программу PostScript, то я не могу думать оВ любом случае, если не попросить производителя принтера найти способ сделать это.
[EDIT]
Программа PostScript является выводом устройства Ghostscript ps2write, поэтому я подозреваю, что вы нене использую pdf2ps. exe , но вместо этого используем pdf2ps.bat, скрипт командной оболочки, который вызывает Ghostscript.Вы также используете более старую версию Ghostscript (9.20).Из соображений безопасности вам следует обновить версию до 9.25 (она должна быть произведена в ближайшие пару дней).
Но я все еще не знаю, какова правильная настройка для вашего сшивания.Как я уже отмечал выше, если вы можете печатать на принтере из вашей операционной системы и заставить его активировать сшивание, то вы можете захватить PostScript и извлечь оттуда соответствующую часть.
Но без этого нетвсе, что я могу вам сказать.
В соответствии с запросом приведен код PJL (не PostScript) из исходного вопроса, который, очевидно, работает для добавления сшивания):
@PJL COMMENT
@PJL SET ORIENTATION = PORTRAIT
@PJL SET BINDING = LEFT
@PJL SET FINISH = LEFT1POINT
@PJL SET EDGEMATCHING = FINISH
@PJL ENTER LANGUAGE = POSTSCRIPT