How do I test certain *parts* of CUPS?

Helge Blischke h.blischke at acm.org
Fri Jan 11 04:41:52 PST 2013


Joe Emenaker wrote:

> So, I'm stuck on two things with CUPS. First, I'm trying to set it up as
> an AirPrint server. Avahi helps my iDevices find it and, oddly, I can
> print *pictures*, but not other documents... so, I'm thinking something's
> wrong with the conversion from URF to raster or something. Anyway, I'm
> *also* trying to set up a CUPS PDF printer, and I'm able to have the
> administration page send print jobs (and the logs say it succeeded) but
> the PDF's never show up anywhere.
> 
> In order to resolve these issues, I've been trying to find a way wherein I
> could interrupt the queue/filter/backend chain and, at any spot in the
> chain, dump STDIN to a file, along with a dump of all of the command-line
> params which were passed. That way, I can figure out which filters are
> working properly and which ones aren't.
> 
> For example, if I could replace some of the "pdfto..." filters with a
> script which dumped STDIN to a file, then I could see if that filter was
> really being fed a proper PDF. I guess I could do this by actually
> replacing the filters with those names, but I'd like to be able to access
> CUPS' table of filters and "costs", but I can't find where those are.
> 
> Also, because it's a pain to have to keep turning on my phone and sending
> a print job, I'd like to be able to capture the exact stream which is
> coming from my iPhone/iPad into the IPP port so that I can inspect it, and
> then easily "inject" this stream into CUPS to simulate an iDevice sending
> an AirPrint as often as I wanted.
> 
> But I haven't found any docs on the net which talk about systematic
> diagnosis of  the *parts* of the CUPS input/scheduler/filter/backend
> chain. Anybody care to shed some light on the process?

As for inspecting the filter chain, I'd recommend to use the cupsfilter 
utility and specify the intermediate document format by using the -m switch, 
e.g.:
cupsfilter -m application/vnd.cups-pdf inputfile > temp.pdf
where temp.pdf is the result e.g. the pdftopdf filter.
Inspect the mime.convs (or whatever .convs file your CUPS uses) to determine 
the intermediate document format.

Helge





More information about the cups mailing list