Команда PJL для установки ориентации
Я попытался установить количество копий с помощью PJL и получил его работать. Однако я не смог заставить работать @PJL SET ORIENTATION=LANDSCAPE. Он всегда печатает в портретном. Я также ищу варианты для печати определенного диапазона страниц, скажем, со страницы 2 до 5. Можно ли этого достичь с помощью PJL? Я использую принтер HP LaserJet 5000 Series PCL6.
3 ответа
Я могу получить диапазон страниц с помощью команды @PJL JOB NAME="TestPage" START=2 END=5. Оно работает. Модификация ориентации не работает.
Скорее всего, это не может быть сделано с PJL в вашем случае. Возможно, поток данных содержит команду для ориентации. PJL предназначен для предоставления доступа к функциям, которые не являются родными для используемого потока данных, предоставляет решение для явного выбора языка, позволяет получать отзывы от принтера и других элементов, связанных с работой.
Лучшее решение - проанализировать результаты и внести изменения в строку. Вы можете сделать это с помощью стороннего решения, такого как Ghostscript, разделив документ на разделы для портретной и альбомной ориентации, повернув его для себя, а затем снова собрав файл.
Другие варианты могут включать в себя использование языка, такого как PCL5, где было бы проще модифицировать встроенные данные.
Ваш код postscript, вероятно, имеет команду ориентации, которая переопределяет вашу команду PJL. В вашем постскрипт-коде ищите что-то вроде этого, поскольку именно оно будет вращать страницу в альбомной ориентации:
90 rotate
Например, я использую этот код для перехода в постскриптум:
% get pagesize from device or default to letter
/pageSize {
currentpagedevice /PageSize known {
currentpagedevice /PageSize get
} {
612 792 2 array astore
} ifelse
} def
% go landscape
90 rotate 0 pageSize aload pop pop neg translate