Команда 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
Другие вопросы по тегам