Tech Notes

Tech Note #20140004

In Tech_20130002, we discuss how Apple has handed over the support of many CUPS filters to The Linux Foundation OpenPrinting Project. The unfortunate result is that, when you install CUPS from source, and set up a printer, you are unable to print a test page to see if the printer works.

The solution to testing these printers included using a replacement pritner test page, which is updated by this Tech Note for use with CUPS version 1.7.x.

Problem Description:

CUPS banner pages, including the printer test page, are created from a simple set of instructions which must be interpreted by a print filter to be turned into an actual, printable page.

Traditionally, this task was handled by a filter called bannertops, which was included in the CUPS build. However, as of CUPS 1.6, the bannertops filter has been unbundled and handed off to The Linux Foundation OpenPrinting Project. Here is the relevant note from the CUPS 1.6 release notes: The parallel and serial backends, php_cups scripting module, and bannertops, commandtoescpx, commandtopclx, imagetops, imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops filters are now provided as part of a separate cups-filters project hosted by The Linux Foundation..

While later CUPS installations still seem to include support for banner pages in their MIME types list (mime.types, which is typically found in /usr/share/cups/mime/mime.types), the banner filter actually has been removed and there is no hope of this MIME type being printed. On the other hand, the conversion rule for banner pages has disappeared from the MIME conversions list (mime.convs, which is typically found in /usr/share/cups/mime/mime.convs) which would imply that "not working" is the most likely outcome. This is indeed the case. If one tries to print banner pages or a printer test page, one receives an error that reads: Unsupported format "application/vnd.cups-banner".

Bonus points are awarded for the fact that bannertops has been eliminated altogether so you can't just go and find it and build it. As part of the new PDF workflow scheme that is promoted by Canonical, bannertops has been replaced by bannertopdf which converts banners into PDF files. These PDF flies must them be converted by pdftops into printable postscript. In addition, bannertopdf uses completely different banner/test pages so the rule for matching banner pages in mime.types must be changed and the new banner/test pages must be installed.

Problem Resolution:

One should see the original Tech_20130002 for a complete discussion of how to resolve the stated problem.

This Tech Note simply provides an updated link to a new printer test page that can be used as described in Tech_20130002 to print printer test pages. The updated printer test page can be downloaded from testprint-1.7.ps.gz.

The printer test page is normally found in the /usr/share/cups/data directory. You will see a file named "testprint". You can overwrite it or you can rename it to something like "testprint.pdf" to keep it around for posterity. Unzip the downloaded file and copy it to the directory, renaming it on the way:

su
mv /usr/share/cups/data/testprint /usr/share/cups/data/testprint.pdf
gunzip -c testprint-1.7.ps.gz >/usr/share/cups/data/testprint

That's all there is to it. You should now be able to print the postscript printer test page using the Web UI or by entering "lpr /usr/share/cups/data/testprint" at the command line.