Hi everybody,
Just found this topic.
I bought those last days an iP4200, and did some work to enhance the canon provided drivers and ppd.
The recipe for enhancing the printing quality end resolution is now well known (I think, I just put it here as a reminder:
Add this in your ppd file:
Code: Select all
*Resolution 1200/1200 dpi: "<</HWResolution[1200 1200]>>setpagedevice"
*Resolution 2400/2400 dpi: "<</HWResolution[2400 2400]>>setpagedevice"
in the Resolution section
and this:
Code: Select all
*OpenUI *CNQuality/Quality: PickOne
*DefaultCNQuality: 2
*CNQuality 2/High: "2"
*CNQuality 3/Normal: "3"
*CNQuality 4/Standard: "4"
*CNQuality 5/Economy: "5"
*CloseUI: *CNQuality
after the Resolution section.
But there's a way to get some nice borderless photo prints.
In the PageSize section, add this lines:
Code: Select all
*PageSize Letter.bl/Lettre: "<</CNPageSizeName(letter)/PageSize[612 792]/ImagingBBox null>>setpagedevice"
*PageSize Legal.bl/Legal: "<</CNPageSizeName(legal)/PageSize[612 1008]/ImagingBBox null>>setpagedevice"
*PageSize A5.bl/A5 SM: "<</CNPageSizeName(a5)/PageSize[420 595]/ImagingBBox null>>setpagedevice"
*PageSize A4.bl/A4 SM: "<</CNPageSizeName(a4)/PageSize[595 842]/ImagingBBox null>>setpagedevice"
*PageSize B5.bl/B5 SM: "<</CNPageSizeName(b5)/PageSize[516 729]/ImagingBBox null>>setpagedevice"
*PageSize 4X6.bl/4x6in SM 101.6x152.4mm: "<</CNPageSizeName(4X6)/PageSize[288 432]/ImagingBBox null>>setpagedevice"
*PageSize 4X8.bl/4x8in SM 101.6x203.2mm: "<</CNPageSizeName(4X8)/PageSize[288 576]/ImagingBBox null>>setpagedevice"
*PageSize 5X7.bl/5x7in SM 127.0x177.8mm: "<</CNPageSizeName(5X7)/PageSize[360 504]/ImagingBBox null>>setpagedevice"
*PageSize 8X10.bl/8x10in SM 203.2x254.0mm: "<</CNPageSizeName(8X10)/PageSize[576 720]/ImagingBBox null>>setpagedevice"
In the PageRegion section, add those:
Code: Select all
*PageRegion Letter.bl/Lettre: "<</CNPageSizeName(letter)/PageSize[612 792]/ImagingBBox null>>setpagedevice"
*PageRegion Legal.bl/Legal: "<</CNPageSizeName(legal)/PageSize[612 1008]/ImagingBBox null>>setpagedevice"
*PageRegion A5.bl/A5 SM: "<</CNPageSizeName(a5)/PageSize[420 595]/ImagingBBox null>>setpagedevice"
*PageRegion A4.bl/A4 SM: "<</CNPageSizeName(a4)/PageSize[595 842]/ImagingBBox null>>setpagedevice"
*PageRegion B5.bl/B5 SM: "<</CNPageSizeName(b5)/PageSize[516 729]/ImagingBBox null>>setpagedevice"
*PageRegion 4X6.bl/4x6in SM 101.6x152.4mm: "<</CNPageSizeName(4X6)/PageSize[288 432]/ImagingBBox null>>setpagedevice"
*PageRegion 4X8.bl/4x8in SM 101.6x203.2mm: "<</CNPageSizeName(4X8)/PageSize[288 576]/ImagingBBox null>>setpagedevice"
*PageRegion 5X7.bl/5x7in SM 127.0x177.8mm: "<</CNPageSizeName(5X7)/PageSize[360 504]/ImagingBBox null>>setpagedevice"
*PageRegion 8X10.bl/8x10in SM 203.2x254.0mm: "<</CNPageSizeName(8X10)/PageSize[576 720]/ImagingBBox null>>setpagedevice"
You will also have to add these lines in the proper sections:
Code: Select all
*ImageableArea Letter.bl: "0 0 612 792"
*ImageableArea Legal.bl: "0 0 612 1008"
*ImageableArea A5.bl: "0 0 420 595"
*ImageableArea A4.bl: "0 0 600 850"
*ImageableArea B5.bl: "0 516 729"
*ImageableArea 4X6.bl: "0 0 288 432"
*ImageableArea 4X8.bl: "0 0 288 576"
*ImageableArea 5X7.bl: "0 0 360 504"
*ImageableArea 8X10.bl: "0 0 576 720"
*PaperDimension Letter.bl: "612 792"
*PaperDimension Legal.bl: "612 1008"
*PaperDimension A5.bl: "420 595"
*PaperDimension A4.bl: "600 850"
*PaperDimension B5.bl: "516 729"
*PaperDimension 4X6.bl: "288 432"
*PaperDimension 4X8.bl: "288 576"
*PaperDimension 5X7.bl: "360 504"
*PaperDimension 8X10.bl: "576 720"
After tweaking the ppd file, save it.
Just another little thing to do, there's a bug in the pstocanonij source code (maybe it's why the borderless mode is not activated?).
Here is the patch:
Code: Select all
*** pstocanonij.c.orig 2006-03-06 09:47:40.000000000 +0100
--- pstocanonij.c 2006-08-27 12:58:56.000000000 +0200
***************
*** 701,713 ****
}
else
{
- to_lower_except_size_X(choice);
-
if( !strcmp(p_table->ppd_key, "PageSize")
&& is_borderless(choice) )
{
param_list_add(&p_list, "--borderless", "", 1);
}
param_list_add(&p_list, p_table->opt_key,
choice, strlen(choice) + 1);
}
--- 701,714 ----
}
else
{
if( !strcmp(p_table->ppd_key, "PageSize")
&& is_borderless(choice) )
{
param_list_add(&p_list, "--borderless", "", 1);
}
+
+ to_lower_except_size_X(choice);
+
param_list_add(&p_list, p_table->opt_key,
choice, strlen(choice) + 1);
}
Recompile the pstocanonij executable and replace the old one in /usr/lib/cups/filter/ (or /usr/libexec/cups/filter/, depending on where the filters are)
Now, enjoy!
PS: Oh and maybe some of you get troubles when using the cnijfilter with cups-1.2.x
To solve this, just replace the cupsVersion variable in the ppd file ( 1.1 -> 1.2)
That's it!
PPS: Maybe someone (ColinK?) can add this to the ebuild?
PPPS: I forgot, I had some troubles with the cnij_usb backend and CUPS-1.2.2. Just don't use it and use the traditionnal usb backend.