[cups.general] ImageableArea.origin on Mac OS X

Matt Broughton walterwego at macosx.com.invalid
Wed Apr 11 17:56:00 PDT 2007


In article <29076-cups.general at news.easysw.com>,
 Stroller <linux.luser at myrealbox.com> wrote:

> I'm trying to print an A4 sheet to my Canon Pixma ip3000 using the  
> command line on Mac OS X (10.4.8). This printer is a consumer inkjet  
> of about 3 years age, and the document prints perfectly from Apple's  
> Preview.app. When printing from the command-line, however, this  
> landscape document prints about 1cm too far to the right, b0rking all  
> my margins.
> 
> When I set "LogLevel debug" in /etc/cups/cupsd.conf I find the  
> difference to be thus:
> 
>    $ grep -i origin /var/log/cups/error_log
>    D [09/Apr/2007:19:17:22 +0100] [Job 281] ImageableArea.origin.x =  
> 18.1417, ImageableArea.origin.y = 14.1732, ImageableArea.width = 576,  
> ImageableArea.height = 769.323
>    D [09/Apr/2007:19:18:19 +0100] [Job 282] ImageableArea.origin.x =  
> -0, ImageableArea.origin.y = 0, ImageableArea.width = 595.276,  
> ImageableArea.height = 841.89
>     $
> 
>    (the first document (281) was printed using the command line, `lpr  
> -o orientation-requested=4,media=DMSIZE_MINUS_A4 -P iP3000   
> invoice_00704.pdf`, the second (282) from Preview. Note that I have  
> tried using the default A4 media, too, and that made no difference.)
> 
> This offset (approximately) does appear in the printer's PPD file,  
> but strangely not for this particular size of paper:
> 
>    $ grep 18.14 /etc/cups/ppd/iP3000.ppd
>    *ImageableArea na-letter/US Letter: "18.14 14.17 594.14 783.50"
>    *ImageableArea na-legal/US Legal: "18.14 14.17 594.14 999.50"
>    $
> 
> Does anyone have any suggestions, please? I guess I installed the  
> printer either using Apple's Printer Utility or using a software  
> download from Canon's site. Would I be advised to edit the  
> "ImageableArea" entry & see if it makes any difference? Is there any  
> way simply to tell CUPS (or lpr) to change the ImageableArea.origin.x  
> & ImageableArea.origin.y both to 0, just for this job?
> 

> ---------------------------------------------------------------------

> D [09/Apr/2007:19:17:22 +0100] print_job: requesting-user-name = 'stroller'
> I [09/Apr/2007:19:17:22 +0100] Adding start banner page "none" to job 281.
> I [09/Apr/2007:19:17:22 +0100] Adding end banner page "none" to job 281.
> I [09/Apr/2007:19:17:22 +0100] Job 281 queued on 'iP3000' by 'stroller'.
> D [09/Apr/2007:19:17:22 +0100] Job 281 hold_until = 0
> D [09/Apr/2007:19:17:22 +0100] StartJob(281, 0x180ac00)
> D [09/Apr/2007:19:17:22 +0100] StartJob() id = 281, file = 0/1
> D [09/Apr/2007:19:17:22 +0100] dnssdRegisterPrinter(iP3000) update
> D [09/Apr/2007:19:17:22 +0100] job-sheets=none,none
> D [09/Apr/2007:19:17:22 +0100] banner_page = 0
> D [09/Apr/2007:19:17:22 +0100] StartJob: option = "orientation-requested=4,0"
> D [09/Apr/2007:19:17:22 +0100] StartJob: option = "printer-info=iP3000"
> D [09/Apr/2007:19:17:22 +0100] StartJob: argv = 
> "iP3000","281","stroller","invoice_00704.pdf","1","orientation-requested=4,0 
> printer-info=iP3000","/private/var/spool/cups/d00281-001"



> D [09/Apr/2007:19:18:18 +0100] print_job: auto-typing file...
> D [09/Apr/2007:19:18:18 +0100] print_job: request file type is 
> application/pdf.
> D [09/Apr/2007:19:18:18 +0100] check_quotas: requesting-user-name = 
> 'stroller'
> D [09/Apr/2007:19:18:18 +0100] print_job: requesting-user-name = 'stroller'
> I [09/Apr/2007:19:18:18 +0100] Adding start banner page "none" to job 282.
> I [09/Apr/2007:19:18:18 +0100] Job 282 queued on 'iP3000' by 'stroller'.
> D [09/Apr/2007:19:18:18 +0100] Job 282 hold_until = 0
> D [09/Apr/2007:19:18:18 +0100] StartJob(282, 0x180ac00)
> D [09/Apr/2007:19:18:18 +0100] StartJob() id = 282, file = 0/1
> D [09/Apr/2007:19:18:18 +0100] dnssdRegisterPrinter(iP3000) update
> D [09/Apr/2007:19:18:18 +0100] job-sheets=none
> D [09/Apr/2007:19:18:18 +0100] banner_page = 0
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = "AP_D_InputSlot="
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = "nocollate"
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = "media=DMSIZE_MINUS_A4"
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = "orientation-requested=5"
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = 
> "com.apple.print.PrinterInfo.PMColorDeviceID..n.=1138"
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = "OutputOrder=Normal"
> D [09/Apr/2007:19:18:18 +0100] StartJob: option = 


I think the main difference is the job arguments being used.  I quote 
the applicable parts of the two jobs from the error log.  It would 
appear that when you sent the job using the command line, the media 
citation.  It is missing from this of arguments in the last quoted line 
from the log for job 281.  Perhaps it is the formation of the lp 
request.  What happens if you designate the media option as an 
enumerated option rather than as a comma separated item:

`lpr  -o orientation-requested=4 -o media=DMSIZE_MINUS_A4 -P iP3000 
invoice_00704.pdf`

When I print via the command line, all options I enumerate are listed 
under "StartJob:argv=".  Example -- 
D [11/Apr/2007:19:32:12 -0500] StartJob: argv = 
"EPSON_Stylus_Photo_1280_usbtb","409","matt","SomeFile.txt","1","page-ran
ges=1 media=Letter printer-info=EPSON\ Stylus\ Photo\ 1280\ 
(usbtb)","/private/var/spool/cups/d00409-001"


Another factor that may come into play is whether command line printing 
will use the Canon PDE (Printer Description Extension)  and deal with 
all the arguments the same as if you went through the normal Mac OS X 
print window.  My guess is that the PDE is called into play here for 
borderless printing.  Your PPD shows "*HWMargins: 9.64 14.17 9.64 8.50".  
My guess is that there are extra steps taken in the PDE to override this.

Matt

-- 
Matt Broughton
Only relatives are absolute.




More information about the cups mailing list