[cups.general] Start print immediately

Michael R Sweet msweet at apple.com
Sun Mar 22 12:09:06 PDT 2009


Andreas Allacher wrote:
>> Hi,
>>
>> Is it possible to start print immediately in cups? instead of spooling when the printer is not in paused mode? so it will take less time when printing a large size files?
> 
> 
> Hi,
> 
> I know this thread is rather old but I would like to know if there has anything changed since then.
> I mean: Especially for serial letter it would be quite nice to have the ability to start printing immediately - at least if I use the RAW-Format for printing.
> I am asking because I am currently trying to get this to work that way on my NAS but it seems I am not able to. It always waits for the job to be finished (tried over Samba and IPP). However, in Windows it is set to print immediately.

Nothing has changed - cupsd must spool the entire print job before it
starts any print filters and the backend.  Support for this in the
stock CUPS distribution will likely never come since it is a) not the
usual queue configuration and b) tricky to get right, especially with
a single-threaded design.

It is conceivable that you could write a "raw only" implementation
based on the CUPS APIs to support direct spooling to one or more
devices simultaneously.  I suspect a multi-threaded implementation
would be the easiest to do (each thread servicing a separate
connection) with the job history, listen sockets, and printer states
managed by the main thread.

That said, it would be a lot easier (and more functional) to simply
use xinetd to accept connections on port 9100, etc. and send the
output to /dev/usb/lp0, /dev/usb/lp1, etc.  A small program could
handle everything and even support back-channel data (something that
IPP doesn't offer).  Implementing IPP only for raw printing is IMHO
a waste of effort.

-- 
______________________________________________________________________
Michael R Sweet                        Senior Printing System Engineer





More information about the cups mailing list