CUPS Test Rig

2011-03-18


It was recently announced that the next version of Ubuntu would feature a colour-management-capable pdftoraster filter, based on Poppler. I wanted to find out more about this, and give it a spin to see how it works, and since for another project I've been learning how to create live ISO images, I created a simple live image from the current Ubuntu Natty repos.  This live installation features a virtual CUPS printer that generates images from submitted jobs, and a web server through which you can view the results.

DownloadISO image


Either boot a spare machine or a virtual machine from the ISO, then from another machine, print a job to the printer named ICCTest.  If the PDF uses ICCBased images (which seems currently onty to be the case for Scribus-generated PDFs) a colour profile will be applied.  You can choose between several output profiles by choosing one of the vrtiual media types in the printer's settings - the profiles are set up to deliberately distort colours, so that it's immediately obvious whether or not they've been correctly applied.

To view jobs that have been submitted, point your web browser at http://cupstestrig.local/    The CUPS web interface can be found on http://cupstestrig.local:631 as always, and if you need to log into the live system, the username and password are both lptest (that's "lima papa test", not "indigo papa test", in case the sans-serif typeface makes that unclear!)

So what's the point of this?  Well, the purpose is threefold really.

  1. To demonstate that, for an admittedly small subset of PDF files, we now have a working colour-managed printing chain.
  2. To aid in the debugging of colour-managed filters such as the new Poppler-based pdftoraster.
  3. To aid application authors in improving their applications' support for colour management.

Currently, there are issues with the Poppler-based backend in Ubuntu.  It can't currently generate CMYK output, DeviceRGB colours are passed through unchanged (which is technically correct, but not what the user generally expects), and the rendering intent (which the PDF should be able to set independently for each image) is currently hard-coded.  Also, output intent is not yet supported.