[cups.general] MacOS X client misbehaving

Marc Lanctot marc.lanctot at mail.mcgill.ca
Tue Aug 8 09:22:52 PDT 2006


Helge Blischke wrote:
> Kurt Pfeifle wrote:
>> Marc Lanctot <marc.lanctot at mail.mcgill.ca> wrote (Tuesday 08 August 2006 17:09):
>>
>>
>>> Helge Blischke wrote:
>>
>>>> Marc Lanctot wrote:
>>>>
>>>>> Helge Blischke wrote:
>>>>>
>>>>>> Look at the following excerpt of this printer's PPD:
>>>>>> ---snip---
>>>>>> *% =================================
>>>>>> *% Print Color as Gray
>>>>>> *% Chose NOT to use standard *ColorModel keyword because color on or off is simpler
>>>>>> *% =================================
>>>>>> *OpenUI *ColorModel/Print Color as Gray:  PickOne
>>>>>> *OrderDependency: 20 AnySetup *ColorModel
>>>>>> *DefaultColorModel: CMYK
>>>>>> *ColorModel Gray/On: "<</ProcessColorModel /DeviceGray>> setpagedevice"
>>>>>> *ColorModel CMYK/Off: "<</ProcessColorModel /DeviceCMYK>> setpagedevice"
>>>>>> *?ColorModel: "
>>>>>>    save
>>>>>>      currentpagedevice /ProcessColorModel get
>>>>>>     /DeviceGray eq {(Gray)}{(CMYK)}ifelse = flush
>>>>>>    restore
>>>>>> "
>>>>>> *End
>>>>>> *CloseUI: *ColorModel
>>>>>> ---snip---
>>>>>> By using e.g. a job patch file in the PPD, you may force the printer to gray mode
>>>>>> independent of whatever the PS job requests otherwise.
>>>>>>
>>>>> Can you elaborate? I don't really understand what you mean but "using a job patch file in the
>>>> PPD". Is it doing that already, you mean?
>>>>> Marc
>>>>>
>>>> Insert the following into your printer's PPD, e.g. just after the following snippet:
>>>> ---snip---
>>>> *% =================================
>>>> *% Emulations and Protocols
>>>> *% =================================
>>>> *Protocols: TBCP
>>>>
>>>> *% =================================
>>>> *% Force gray mode
>>>> *% =================================
>>>> *JobPatchFile 1: "
>>>>    % first, set the color model to gray only
>>>>    <</ProcessColorModel /DeviceGray>> setpagedevice
>>>>    % now, redefine setpagedevice as to ignore this key
>>>>    % whenever is is specified
>>>>    userdict begin
>>>>    /setpagedevice
>>>>    {
>>>>       dup /ProcessColorModel undef
>>>>       setpagedevice
>>>>    }bind def
>>>>    end
>>>> "
>>>>
>>>> ---snip---
>>>>
>>>> Note, this will only work if the spooler you use supports this PPD
>>>> feature, as CUPS does.
>>>>
>>> I modified the PPD as stated, gzip'd it, replaced it in
>>> /usr/share/cups/model/HP and then restarted cups.
>>
>> Heh... you're misunderstanding how CUPS works :-)
>> That directory is only the official repertory for *installable* PPDs.
>>
>> Now that the PPD is there, it will be used next time you install it.
>>
>> You can now 
>>
>>  a) either install the printer again, using this PPD (actually, a simple
>>     "lpadmin -p printername -P /usr/share/cups/model/HP/<ppdname.ppd.gz>"
>>     should be enough;
>>
>>  b) or just copy the PPD file to "/etc/cups/ppd/<printername.ppd>"
>>     where the *installed* PPDs are, and it should work
>>
>> Cheers,
>> Kurt
> 
> But, in  case of b) above, you may need ro perform "configure printer" again from
> the weg interface, or you need to edit the PPD and set all keywords beginning
> with "*Default" (without the quotes) to the values of the previously used PPD.
> 

It worked !!! Thank you so much.

Yes, I am quite new to cups.. so even the general tips worked well. 
Thanks for everyone's help.

Marc





More information about the cups mailing list