Печать с помощью принтера HP через LPR — PJL с PS

Я использую принтер HP LaserJet 5000 Series PCL6. Попытка установить атрибуты печати, такие как копии и ориентация, с помощью PJL. Использование PostScript в качестве основного языка работы. Я использую команду LPR (lpr -S{IP} -P{IP} test.txt) для запуска приведенного ниже кода для печати из окон. Принтер вообще не печатает содержимое. Если я удалю специальные команды PJL и просто запущу только PS, содержимое будет напечатано правильно. Есть ли что-то, что мне не хватает?

     Ec%-12345X@PJL SET COPIES = 3
     @PJL ENTER LANGUAGE = POSTSCRIPT
     %!PS-Adobe-3.0
     %% Example 1

     newpath
     100 200 moveto
     200 250 lineto
     100 300 lineto
     2 setlinewidth
     stroke
     showpage ^D Ec%-12345X

Я также пытался использовать <ESC> вместо Ec.


person Rachel    schedule 09.11.2010    source источник


Ответы (1)


Ec и <ESC> оба неверны. Вам нужен фактический код ASCII для ESC, который представляет собой 27-й символ ASCII.

Самый простой способ:

char esc = 27;

и вы можете затем включить это по мере необходимости

person barrowc    schedule 10.11.2010
comment
Здорово!! Оно работает. Я могу установить количество копий и распечатать его. Однако приведенный ниже атрибут не работает, @PJL SET ORIENTATION=LANDSCAPE. Я также ищу варианты для печати определенного диапазона страниц, скажем, со страницы 2 до 5. Возможно ли это? - person Rachel; 10.11.2010
comment
Не знаю, как распечатать только указанные страницы (на самом деле это ответственность приложения, отправляющего данные, а не принтера). Не уверен, почему установка ориентации не удалась - она ​​должна быть на отдельной строке: @PJL SET ORIENTATION = LANDSCAPE<CR><LF>, где ‹cr›‹lf› представляет символы новой строки в вашей системе. В качестве альтернативы посмотрите на использование PCL для этого - person barrowc; 11.11.2010
comment
Да, я включил новую строку, но все равно напрасно. Фактический печатный контент представляет собой PostScript. Я сомневаюсь, что ориентацию можно изменить, просто установив PJL без изменения PS. - person Rachel; 12.11.2010