Avec une imprimante récente Canon, ce n'est pas gagné !
Tentez quand même le pilote BJC-7000.
Sinon, sachez que depuis qqs mois il y a des pilotes Canon Japan :) Il suffit de savoir les installer bien sûr. Ce sont des rpm, donc facile pour mandriva, mais on peut les transformer en deb avec alien, voici le tuto complet ubuntu.

Les pilotes Canon sont dispo ici : lien ftp.
Pour vous aider un peu, prenons un exemple :
Vous avez une i850. Il vous faut :

- le pilote i850 bjfilterpixus850i-2.2-1.i386.rpm
- le pilote cups correspondant (2.2-1) bjfiltercups-2.2-1.i386.rpm.

Pour les imprimantes de la série PIXMA, c'est différent.
Vous avez une ip3000. Il vous faut :

- le pilote ip3000 (=ip3100 jap) bjfilter-pixusip3100-2.50-2.i386.rpm
- le pilote lpr (pour cups) bjfilter-pixusip3100-lprng-2.50-2.i386.rpm
- les libs communes bjfilter-common-2.50-2.i386.rpm

Voici le tuto ip 4000 pour ubuntu, qui indique aussi comment ajouter les options d'impression à cups !

Sinon, il reste Turboprint, une version gratuite fonctionnelle est disponible, à tester également si besoin.