I have a Canon i560 printer, which is rather well supported by Gutenprint drivers. I have been using those for a while and they serve my regular printing needs. However, when I try to print a good quality photo on glossy photo paper, strange stuff happens.
The colour doesn’t come out nice, but somewhat faded. Worse, no matter how I specify that I want to make a print on 10x15 glossy paper, the actual print is always cut off, printed landscape when I specify portrait, etc. The printer is shared via CUPS and when my wife prints from her Windows XP machine, the printer works normally and the colours look brilliant so there’s no problem with the machine itself, it has to be in the driver.
I googled this problem extensively and in my search, I found out that Canon does in fact have a Linux driver for this printer, though it can’t be found through their website. It is on their ftp server, however: ftp://download.canon.jp/pub/driver/bj/linux/
I installed the driver from there, following instructions that I found on the web and I have the printer working. But…the photo paper size that I want to print on (10x15 centimetres) isn’t available in the ppd file. I can also not specify a custom paper size to print on in digikam or gwenview, since that option is greyed out…
Since a ppd file is a text file, I decided to see if I could add a custom paper size. I googled some more and found this page: Adding Custom Paper Sizes to a Custom Printer File Using a Text Editor
With the help of that page, I thought I had it nailed. I added the following to my ppd file:
*PageSize photo/Photo 10x15: “<</CNPageSizeName(photo)/PageSize[283 424]ImagingBBox null>>setpagedevice”
*PageRegion photo/Photo 10x15: “<</CNPageSizeName(photo)/PageSize[283 424]ImagingBBox null>>setpagedevice”
*ImageableArea photo: “0 0 283.46 283.46”
*PaperDimension photo: “283 424”
Of course these entries went in the proper sections of the ppd file. The Photo 10x15 option shows up now in the print dialog, however, when I specify it, nothing is printed and the following is logged in /var/log/cups/error_log:
D [24/Mar/2010:20:07:49 +0100] [Job 118] pstocanonbj: /usr/bin/gs -r600 -g0x0 -q -dNOPROMPT -dSAFER -sDEVICE=ppmraw -sOutputFile=- -| /usr/local/bin/bjfilterpixus560i --imageres 600 --papersize photo10x15 --media plain --paperload asf --bbox 0,0,0,0
D [24/Mar/2010:20:07:49 +0100] [Job 118] Error: invalid papersize
D [24/Mar/2010:20:07:49 +0100] [Job 118]
D [24/Mar/2010:20:07:49 +0100] [Job 118] Canon Bubble Jet Print Filter for Linux ver.2.4.0
D [24/Mar/2010:20:07:49 +0100] [Job 118] Copyright CANON INC. 2001-2004
D [24/Mar/2010:20:07:49 +0100] [Job 118] All Rights Reserved.
D [24/Mar/2010:20:07:49 +0100] [Job 118]
D [24/Mar/2010:20:07:49 +0100] [Job 118] bjfilterpixus560i --gui (gui mode)
D [24/Mar/2010:20:07:49 +0100] [Job 118] bjfilterpixus560i [switches] [file]
D [24/Mar/2010:20:07:49 +0100] [Job 118]
D [24/Mar/2010:20:07:49 +0100] [Job 118] switches: --imageres 1 - 32767 ]
D [24/Mar/2010:20:07:49 +0100] --cartridge cartridgetype ]
D [24/Mar/2010:20:07:49 +0100] --media mediatype ]
D [24/Mar/2010:20:07:49 +0100] --halftoning halftonetype ]
D [24/Mar/2010:20:07:49 +0100] --quality 1 - 5 ]
D [24/Mar/2010:20:07:49 +0100] --grayscale ]
D [24/Mar/2010:20:07:49 +0100] --papersize size ]
D [24/Mar/2010:20:07:49 +0100] --paperload position ]
D [24/Mar/2010:20:07:49 +0100] --borderless ]
D [24/Mar/2010:20:07:49 +0100] --extension 0 - 3 ]
D [24/Mar/2010:20:07:49 +0100] --location position ]
D [24/Mar/2010:20:07:49 +0100] --fit ]
D [24/Mar/2010:20:07:49 +0100] --full ]
D [24/Mar/2010:20:07:49 +0100] --percent 20 - 400 ]
D [24/Mar/2010:20:07:49 +0100] --copies 1 - 999 ]
D [24/Mar/2010:20:07:49 +0100] --renderintent intent ]
D [24/Mar/2010:20:07:49 +0100] --gamma 1.4/1.8/2.2 ]
D [24/Mar/2010:20:07:49 +0100] --balance_c -50 - 50 ]
D [24/Mar/2010:20:07:49 +0100] --balance_m -50 - 50 ]
D [24/Mar/2010:20:07:49 +0100] --balance_y -50 - 50 ]
D [24/Mar/2010:20:07:49 +0100] --balance_k -50 - 50 ]
D [24/Mar/2010:20:07:49 +0100] --density -50 - 50 ]
D [24/Mar/2010:20:07:49 +0100] --papergap gaptype ]
D [24/Mar/2010:20:07:49 +0100] --bbox left,bottom,right,top ]
D [24/Mar/2010:20:07:49 +0100] [Job 118]
E [24/Mar/2010:20:07:49 +0100] [Job 118] pstocanonbj write error,32.
I’m sort of at a loss here on what to try next. Can someone spot a mistake or point me in the right way?
I’m on openSUSE 11.2, KDE 4.4.1, release 228, CUPS 1.3.11.