[cups.general] MacOS X client misbehaving
Helge Blischke
h.blischke at srz.de
Tue Aug 8 07:59:45 PDT 2006
Marc Lanctot wrote:
> Michael Sweet wrote:
>
>> Marc Lanctot wrote:
>>
>>> Hi guys,
>>>
>>> I've recently setup a printing system here at the department of
>>> Atmospheric and Oceanic Sciences.
>>>
>>> I have a SUSE Linux 9.2 server running CUPS 1.1.23.
>>>
>>> I have a department full of printing clients, with a good variety of
>>> operating systems, all of which must print via the print server
>>> (printing directly to the printers is disbled).
>>>
>>> My Linux clients are all using CUPS as well, all different versions
>>> from different Linux distros, but they're working like a charm. My
>>> SGI IRIX machines use lp and communicate through the CUPS lpd
>>> compatibility server. For various reasons particular to my setup I
>>> could not get Windows clients to work through Samba nor IPP, so they
>>> use LPR to connect as well.
>>>
>>> I have an HP Color Laserjet 4700 using the latest postscript PPD
>>> driver from LinuxPrinting.org, and a queue called say 'Eg-BW' which
>>> has the "Print Color as Gray" flag turned on so that black-and-white
>>> printing is forced when using this queue.
>>>
>>> Here's my problem: when I print from Adobe Reader 7.07 on a MacOS
>>> 10.3.9 client connecting through LPR to my Linux print server, it
>>> overrides the forced black-and-white setting and prints in color
>>> anyway. We charge each of our users depending on the queue used, so
>>> it's important that the restrictions for each queue work on all
>>> clients. This only happens on the Mac -- I can print properly from
>>> all my other clients.
>>>
>>> Anybody know how to fix this problem?
>>
>>
>>
>> Print from Preview instead. Adobe applications use a legacy print
>> API (the old MacOS 9 LaserWriter print API) so they can produce their
>> own PostScript code. As a result, you can end up with PostScript print
>> data without the "print as grayscale" command in it... :(
>
>
> Actually, Preview gives me the same problem. It's the only reason I
> tried Adobe :(
>
> Can you tell me what the "print color as gray" option does? I was under
> the impression that the print job is modified server-side before it was
> sent to the printer.
>
> Marc
>
>
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.
Helge
--
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de
More information about the cups
mailing list