[cups.general] Re: HP Laserjet 4250 gets confused by pjl from

Helge Blischke h.blischke at srz.de
Thu May 19 06:06:51 PDT 2005


Alex Finch wrote:
> 
>   I have posted the file that causes the error at http://www.hep.lancs.ac.uk/test.ps
> 
> It seems the PJL emnbedded in the middle confuses it.
> 
>   The postscript error refers to
> 
> BYTES FROM CURRENTFILE BEFORE ERROR:
> ^M^@^M^J at PJL
> 
> BYTES FROM CURRENTFILE AFTER ERROR:
> SET ECONOMOD=OFF^M^J at PJL SET RET=MEDIUM^M^J at PJL SET RESOLUTION=600
> 
> This looks like an @ on a line by itself but I can't see that in the file!
> 
>         Alex

Well, something is severly screwed up in your configuration.

The sample file begins with the following code, which lacks the initial
^[%-12345X to switch the printer
to the job control language. Instead, this UEL code precedes the SET
STRINGOFFSET command, which is in turn
followd by an incomplete PS job header.
---snip---
@PJL SET ECONOMODE=OFF
@PJL SET RESOLUTION=600
@PJL SET RET=MEDIUM
@PJL SET BITSPERPIXEL=2
@PJL ENTER LANGUAGE=POSTSCRIPT
^[%-12345X at PJL SET STRINGCODESET=UTF8
%%Requirements: duplex

%RBINumCopies: 1
%%Pages: 1
%%BeginProlog
%%EndProlog
%%BeginSetup
[{
%%BeginFeature: *AlternateLetterHead False
%%EndFeature
---snip---
followed by a lot of features obviously from the PPD; this setup stuff
ends with
---snip---
%%BeginFeature: *Duplex DuplexNoTumble

  <</Duplex true /Tumble false>> setpagedevice
%%EndFeature
} stopped cleartomark
% x y w h ESPrc - Clip to a rectangle.
userdict/ESPrc/rectclip where{pop/rectclip load}
{{newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
neg 0 rlineto closepath clip newpath}bind}ifelse put
% x y w h ESPrf - Fill a rectangle.
userdict/ESPrf/rectfill where{pop/rectfill load}
{{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
neg 0 rlineto closepath fill grestore}bind}ifelse put

% x y w h ESPrs - Stroke a rectangle.
userdict/ESPrs/rectstroke where{pop/rectstroke load}
{{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
neg 0 rlineto closepath stroke grestore}bind}ifelse put

%%EndSetup
---snip---
The ESP... keywords indicate that this setup is created by CUPS' pstops
filter.
Immedieately following are the lines:
---snip---
@PJL JOB NAME="Test Page"
@PJL COMMENT "\\lapw\hp_printer (60.42.108.11); Microsoft Windows 2000
5.0.2195.1; PScript 0.3.1282.1"
@PJL COMMENT "Username: Conference; App Filename: Test Page; 5-19-2005"
@PJL SET JOBATTR="JobAcct1=Conference"
@PJL SET JOBATTR="JobAcct2=lapw"
@PJL SET JOBATTR="JobAcct3=PYB028000004"
@PJL SET JOBATTR="JobAcct4=20050519093953"
@PJL SET JOBATTR="JobAcct5=58276b6c-a7cf-4c65-b27a-c8c4238f3647"
@PJL DMINFO
ASCIIHEX="0400040101020D101001153230303530353139303833393533"
@PJL SET HOLD=OFF
@PJL SET USERNAME="Conference"
@PJL USAGE = CURI,6829,f223,08,08,02^M
@PJL SET ECONOMODE=OFF
@PJL SET RET=MEDIUM
@PJL SET RESOLUTION=600
@PJL SET BITSPERPIXEL=2
@PJL ENTER LANGUAGE=POSTSCRIPT
^D%!PS-Adobe-3.0^M
%%Title: Test Page^M
%%Creator: PScript5.dll Version 5.2^M
%%CreationDate: 5/19/2005 9:37:37^M
---snip---
which seem to stem from the W2K PS driver; and once more, the EUL code
is missing. The rest of the file, taken
without the preceding stuff, prints OK, but in turn at the end, there
are two intermixed EOF PJL statements.

Thus, I suspect in your workflow (W2K -> SAMBA -> CUPS) must be at least
one additional entity that
in effect screws up the whole job.

Perhaps you could post the printing related smb.conf statements (by the
way, which SAMBA version do you use?)
and the CUPS filters that get activated.

Helge

PS: I've never seen such a long list of dependent files on any HP
printer test page from any Winxx system yet.
Seems suspicious.

-- 
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de




More information about the cups mailing list