January 9, 2008

Borderless printing on Pixma ... now painless ?

So you got this nice Pixma printer that is claimed to do "borderless" printing …

You installed the latest Canon Linux drivers for your MP600/610, run fine ...

And now, you try to print borderless photos from your favorite Desktop application … and you learn in Canon's documentation that borderless printing:
  • Requires a dedicated Canon utility (cifmp600 / cifmp610)
  • run from the command line,
  • with limited image type support (no jpeg!!!)
  • no network gui, just localhost
  • and … only available to the root user!!!
Hey, Whatzat ??

IMHO, a good reason for … reworking a little bit original ppd files, and… turnaround some buggy code.

In fact, Canon’s software already includes borderless printing with cups/ppd files, if the papersize name (in the printer ppd file) ends with “.bl”
Simply create such lines in the ppd file, and you add borderless paper types …

So simple?

Well, add also some driver bug for paper sizes with an X: 4X6, 5X7, … To avoid modifying/recompile any source code, add a small modification to Canon’s driver config file, namely:
/usr/lib/bjlib/cifmp610.conf (or /usr/lib/bjlib/cifmp600.conf for MP600), to add lines with a small x like 4x6, 5x7 in the [papersize] section.

The new packages files to download include those new ppds, along with the modified cifmp610.conf / cifmp600.conf files.


Download here the latest package for the printer and language (English or French) you want.
The package contains:
  • a new ppd file to install as explained in this previous post
  • a cifmp6x0.conf file to replace Canon’s existing one (keep a backup of Canon’s original just in case):
    • MP610 : copy over /usr/lib/bjlib/cifmp610.conf
    • MP600 : copy over /usr/lib/bjlib/cifmp600.conf
Then, you can start printing borderless images, simply by selecting the new “borderless” paper formats that appear in the paper sizes list, in your application printing dialog.

A simple live test under Gnome’s EOG and Ubuntu Gutsy

Under Gnome, simply double click an image, this trigs “Eye Of Gnome”, Gnome’s standard picture viewer. Note that many other picture viewers (KDE’s, Gnome’s …) will have the same ability, EOG is used here as sample.

EOG supports now Gnome’s standard printing dialog.

Select first the menu "File/Page setup":

Choose in the printers list, the MP610 or MP600, and in the papers list, the new borderless format you want. Choose also the image orientation.

Click apply

Now, in the printing dialog "File/print", look at the “image parameters” tab. In the preview pane, EOG will show your photo as printed on paper, the borders will be 0 if image matches paper format.

Important: choose a combination of paper type and print quality that match. Check Canon's driver user manual (see cifmp610 or cifmp600 "Print Option Combinations" section) for compatible combinations.
If you select an incompatible combination, nothing will be printed, and you won't get any error message ...

Choose also options in the "advanced" tab, and check the quality, halftoning options to match for the paper type selected.

Click print

Et voila!
Your image is printing on paper without borders ;-)

  • PPD files have been updated for borderless A4, 4"x6", 5"x7", 4"x8", 8"x10" formats.
    If you need to add other paper formats, simply create new .bl papersizes in the ppd file.
  • Files proposed here are for MP600/MP610 printers, but the same method can be used for many other Canon printers that use the same drivers. Again, modify the same way the ppd and .conf files.

  • You might notice that the printed image extends a little bit outside the paper. This is due to the cifmp6x0 utility, that uses a --extend parameter, which defaults to 2. This makes image extend a little bit outside the paper. See Canon’s driver cifmp6x0 documentation (borderless and extend options) for more information.
  • Borderless printing on A4 is not very accurate, as stated in Canon's documentation (the 'Doze documentation). Please take a look at this Canon documentation to get info on borderless printing.