2010-11-09 12 views
1

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

 Ec%[email protected] 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> на месте Ес.

ответ

1

Ec и <ESC> являются неверными. Вам нужен реальный код ASCII для ESC, который является ASCII символов 27.

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

char esc = 27; 

, а затем вы можете incoroporate, что при необходимости

+0

Отлично !! Оно работает. Я могу установить количество копий и распечатать их. Однако атрибут ниже не работает, @PJL SET ORIENTATION = LANDSCAPE. Я также ищу варианты для печати определенного диапазона страниц со страницы 2 по 5. Возможно ли это? – Rachel

+0

Не известно ни о каком способе печати только указанных страниц (на самом деле это ответственность приложения, отправляющего данные, а не принтера). Не знаете, почему установка ориентации не удалась - она ​​должна быть на отдельной строке: '@PJL SET ORIENTATION = LANDSCAPE ' где представляет символ новой строки в вашей системе. Альтернативно посмотрите на использование PCL для этого – barrowc

+0

Да, у меня была новая строка, но все же зря. Фактическим содержимым печати является PostScript. Я сомневаюсь, что ориентацию можно изменить, просто установив в PJL без изменения PS. – Rachel