2010-11-09 48 views
1

我正在使用打印機HP LaserJet 5000系列PCL6。嘗試使用PJL設置複印和方向等打印屬性。使用PostScript作爲潛在的工作語言。我正在使用LPR命令(lpr -S {IP} -P {IP} test.txt)運行下面的代碼以從Windows進行打印。打印機根本不打印任何內容。如果我刪除了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 

我也試過在Ec的地方使用<ESC>

回答

1

Ec<ESC>都是不正確的。您需要爲ESC實際的ASCII碼是ASCII字符27

最簡單的方法是:

char esc = 27; 

,然後你可以incoroporate,由於需要

+0

偉大的!有用。我可以設置打印份數並打印出來。但是下面的屬性不起作用,@PJL SET ORIENTATION = LANDSCAPE。我也在尋找打印特定頁面範圍的選項,例如從第2頁到第5頁。這可能嗎? – Rachel 2010-11-10 16:34:10

+0

不知道有什麼方法只打印指定的頁面(這實際上是發送數據而不是打印機的應用程序的責任)。不知道爲什麼設置方向失敗 - 它確實需要在它自己的一行上:'@PJL SET ORIENTATION = LANDSCAPE '其中表示系統上的換行符。或者看看使用PCL爲 – barrowc 2010-11-11 00:34:01

+0

是的,我已經包括了新的行,但仍然徒勞。實際的打印內容是PostScript。我懷疑是否可以通過設置PJL來修改方位,而不改變PS。 – Rachel 2010-11-12 03:52:02