Canon iP2200 – borderless printing under Linux

I picked up a Canon printer a while back – specifically a Pixma iP2200. Getting it to work properly under linux has turned out to be… somewhat challenging.

Since I run Ubuntu at home, the page at the Ubuntu wiki does a good job of getting the printer set up and working.

The only trouble is that printing photos turned out to be a problem – none of the programs I tried seemed to be able to print properly. Most of them seemed to use gutenprint (aka gimp-print) which had no driver for the iP2200 by default, and when I specified the ppd file from the Canon setup, I wound up with about 3/4 of an inch of the left side of the image on the far right of the paper. Even when I did manage to get a decent printout, I was stuck with a border on the print.

After looking into it for quite a while, I happened across a document for the iP2500 – it talked about a program (supplied with the Canon driver for the printer) called cifip2500. It supported command line options for borderless printing.

[EDIT: It turns out that if I had bothered to grab the manual Canon supplied, the information is there as well....]

Checking on my own system, I found a corresponding program called cifip2200. Running cifip2200 –help gave me this output:

Canon Inkjet Print Filter Ver.2.60 for Linux
Copyright CANON INC. 2001-2006
All Rights Reserved.

Usage: cifip2200 --gui (gui mode)
cifip2200 [switches] [file]

switches: [ --imageres 1 - 32767 ]
[ --cartridge cartridgetype ]
[ --media mediatype ]
[ --halftoning halftonetype ]
[ --quality 1 - 5 ]
[ --grayscale ]
[ --papersize size ]
[ --paperload position ]
[ --borderless ]
[ --extension 0 - 3 ]
[ --location position ]
[ --fit ]
[ --full ]
[ --percent 20 - 400 ]
[ --copies 1 - 999 ]
[ --renderintent intent ]
[ --gamma 1.4 / 1.8 /2.2 ]
[ --balance_c -50 - 50 ]
[ --balance_m -50 - 50 ]
[ --balance_y -50 - 50 ]
[ --balance_k -50 - 50 ]
[ --density -50 - 50 ]
[ --inkcartridgesettings cartridgetype ]
[ --bbox left,bottom,right,top ]

As you can see there is a –borderless option, and options to set lots of other things as well. During my first attempt, I was surprised to get lots of control characters scrolling across my screen – turns ou8-bit per color RGB/8-bit Gray/Index/8-bit per color α RGB/8-bit α Grayt that the program output is intended to be redirected to the printer (or a file). My print command looked like this:

cifip2200 –media glossypaper –papersize 4X6 –fit –picture.tif > /dev/usb/lp0

That generated a very nice picture (in this case of my dog with antlers, taken for Christmas), but didn’t work until I ran it as root, and shut down cups, since it complained that the printer was busy.

So, the full list of restrictions at the moment with this method:
1) Limited file formats based on documentation for the iP2500 version:
TIFF:Uncompressed mode only
BMP: Only 8-bit per color RGB
PPM: Only 8-bit per color RGB (binary format)
PNG: 8-bit per color RGB/8-bit Gray/Index/8-bit per color α RGB/8-bit α Gray

2) Must be run as root

3) Cups must be stopped to allow access to printer

Presumably the pstocanonij program used as the cupsFilter in the ppd file takes the postscript generated for cups, and converts it into a supported format which is then printed using cifip2200. This is supported by the fact that the bottom of the ppd file has options that match the above options very closely (except for –boderless not being present).

One thing that puzzles me is that no resolution is specified for cifip2200 – does it choose based on the quality setting, and the input file? If so, then resolution settings in the .ppd file are merely for the postscript file (and conversion to image). In any case, I have a solution for now and some more testing to do to determine how to get optimal quality. If I recall correctly, the pstocanonij code is available, so once I get everything figured out, it may be possible to add the borderless setting, either by default or as an option.

[edit: The documentation says that the default resolution is 120dpi, and gives an example of setting it to 60dpi. Seems strange considering the specs say 600-2400 dpi...]

-This is my first attempt at a post using the QTM blogging software-

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>