Problem with HPLJ4600 PPD file

John A. Murdie john at cs.york.ac.uk
Mon Nov 6 08:15:57 PST 2006


We've got a reproduceable problem with the PPD file for an HP Colour LaserJet 4600dn we have. Every time we print - from the CUPS command line, from a Linux GUI application, or from a Windows client using our CUPS server, the word "draft" appears at an angle across all the copies. This happens whether the printer option Watermark/Overlay/None is set to None or not.

The PPD file was downloaded from http://www.linuxprinting.org/download/PPD/HP/color_laser/hp_color_LaserJet_4600.ppd
and has `*FileVersion: "1.0.9 X"'. At lines 1435 it has:

true setglobal /HPwm 5 dict dup begin /HPwmOn true def end def false setglobal

and at line 1498 it has:

true setglobal /HPwm 5 dict dup begin /HPwmOn true def end def false setglobal

I find that changing the 'true' after '/HPwmOn'' in each case to 'false' stops 'draft' being printed every time, but then one cannot turn watermarking or overlaying on.

The Windows clients here had a similar looking PPD file for the printer, but marked as `*FileVersion: "1.0.17"' and dated 4th February 2002. We stopped watermarking/overlaying happening all the time with prints originating from there by similar edits to the ones I describe above but, again, we can no longer switch watermarking or overlaying on.

Curiously, when I print from CUPS (1.2.5, though the problem also happened with 1.2.4 and 1.2.3, and perhaps earlier), and pause the queue  - I see this text inside the spool file:

-----------------------------------------------------------------------
featurebegin{
%%BeginFeature: *HPwmLocation True

userdict begin
  true setglobal /HPwm 5 dict dup begin /HPwmOn true def /HPwmOdd true def end def false setglobal

  userdict /HPwmAngle known not {/HPwmAngle 45 def} if
  userdict /HPwmSize known not {/HPwmSize 48 def} if
  userdict /HPwmLocation known not {/HPwmLocation true def} if
  userdict /HPwmStyle known not {/HPwmStyle .48 def} if
  userdict /HPwmDuplex known not {/HPwmDuplex 0 def} if
  userdict /HPwmNUP known not {/HPwmNUP 1 def} if

  /HPwmEOP {HPwmDuplex 0 eq {true}{HPwmDuplex 1 eq HPwmOdd eq dup not {erasepage}if
    true setglobal /HPwmOdd HPwmOdd not def false setglobal}ifelse} bind def
  userdict /HPwmAngle userdict /HPwmNUP get userdict /HPwmAngle get mul put
  end^M
-----------------------------------------------------------------------

I find it curious that the feature is named in the %%BeginFeature line as `HPwmLocation' and not as `HPwmOn'. Is this a clue to the problem?

I've no reason to think this is a CUPS bug, but tend to think that it is a PPD file problem. To whom should I report it? How can I be sure that I have the very latest, bug-corrected, PPD file?

John A. Murdie




More information about the cups mailing list