Problem printing multiple copies

Helge Blischke h.blischke at srz.de
Wed Oct 31 12:15:42 PDT 2007


Jonathan Dobbie wrote:
>>Jonathan Dobbie wrote:
>>
>>>>Jonathan Dobbie wrote:
>>>>
>>>>
>>>>>Cups Server: 2.6.15-26-powerpc (Ubuntu)
>>>>>Cups Version: cups-1.3.3
>>>>>Clients: OSX 10.4.x
>>>>>Printer: HP 2300n (tried a few others - same problem) through USB (tried ethernet - same problem)
>>>>>
>>>>>When a client prints more than one copy (either -n or with the printing dialog box), the printer prints more copies than requested.  When printing from the server box, it works fine.
>>>>>
>>>>>classes.conf:
>>>>><DefaultClass Lib_Print_Queue>
>>>>>Info Library Printer Queue
>>>>>Location Library
>>>>>State Idle
>>>>>StateTime 1158777914
>>>>>Accepting Yes
>>>>>Shared Yes
>>>>>JobSheets none none
>>>>>Printer hp_LaserJet_2300_series_USB_1
>>>>>QuotaPeriod 0
>>>>>PageLimit 0
>>>>>KLimit 0
>>>>>OpPolicy default
>>>>>ErrorPolicy retry-job
>>>>>Option job-hold-until indefinite
>>>>></Class>
>>>>>
>>>>>printers.conf:
>>>>><Printer hp_LaserJet_2300_series_USB_1>
>>>>>Info hp LaserJet 2300 series
>>>>>Location Local Printer
>>>>>DeviceURI usb://HP/LaserJet%202300%20series
>>>>>State Idle
>>>>>StateTime 1193690915
>>>>>Accepting Yes
>>>>>Shared Yes
>>>>>JobSheets none none
>>>>>QuotaPeriod 0
>>>>>PageLimit 0
>>>>>KLimit 0
>>>>>OpPolicy default
>>>>>ErrorPolicy stop-printer
>>>>></Printer>
>>>>>
>>>>>
>>>>>We have a nearly identical system with a Xante printer, and it works fine.
>>>>>
>>>>>Thanks.  I'm stumped.
>>>>
>>>>Does it produce n*n copies? If yes, I have a suspicion.
>>>>
>>>>Helge
>>>>
>>>
>>>
>>>It does in fact print the square of the number of requested copies.  I'd suspected this, but just confirmed it to be sure.
>>>
>>>What is your suspicion?
>>
>>My suspicion is that the number of copies is first evaluated in the
>>pstops filter (and transformed into a suitable PostScript statement there)
>>and evaluated a second time in the backend that writes the data to
>>the printer.
>>
>>To do a detailed analysis, you should supply more detail on how the
>>printer(s) are configured on both the server and the client(s).
>>
>>Helge
>>
> 
> 
> I've tried a few different PPDs on both the front and back ends.  Right now, I'm using Apple's 2300 ppd on the clients, and the ijs ppd on the server.  I just added the client with:
> lpadmin -p LibraryWP_HP2300 -E -v "http://serverIP:631/classes/Lib_Print_Queue" -P "/Library/Printers/PPDs/Contents/Resources/en.lproj/hp LaserJet 2300.gz"
> 
> I added the printer to the server with the :631 web interface.
> 
> Hopefully that's enough info.
> 
> the client's printer.conf looks like:
> 
> <Printer LibraryWP_HP2300>
> Info LibraryWP_HP2300
> DeviceURI http://serverIP:631/classes/Lib_Print_Queue
> State Idle
> Accepting Yes
> Shared Yes
> JobSheets none none
> QuotaPeriod 0
> PageLimit 0
> KLimit 0
> </Printer>

Yes, that is what I suspected. The number of copies has been inserted
into the PostScript stream by the pstops filter. The IPP backend
on the other hand queries the printer if it supports the copies
attribute and, if not, manages to transfer the job copies times
to the printer.
This has been originally implemented as a workaround to the faulty
Hewlett Packard IPP impelemtation, but it seems that the same
holds for printing to a class on a remote CUPS server.

You should file a STR for this issue, but for a short term workaround,
you'd probably need to hack the source code of the IPP backend and
use it under a different name.

If you need advice to do this, you may contact me off the list.

Helge


-- 
Helge Blischke
Softwareentwicklung

H.Blischke at acm.org




More information about the cups mailing list