comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: How to get page size for PRINTER device?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: How to get page size for PRINTER device? [message #22698 is a reply to message #22691] Tue, 05 December 2000 00:00 Go to previous messageGo to previous message
Liam E. Gumley is currently offline  Liam E. Gumley
Messages: 378
Registered: January 2000
Senior Member
Liam Gumley <Liam.Gumley@ssec.wisc.edu> wrote in message
news:90gscj$nfq$1@news.doit.wisc.edu...
>
> Liam Gumley <Liam.Gumley@ssec.wisc.edu> wrote in message
> news:90gni1$e5a$1@news.doit.wisc.edu...
>> According to the IDL 5.4 documentation:
>>
>> "The DIALOG_PRINTERSETUP function opens a native dialog for setting the
>> applicable properties for a particular printer."
>>
>> Let's say I've selected the PRINTER graphics device, and I've called
>> DIALOG_PRINTERSETUP to change the paper size from Letter to A4, e.g.
>>
>> IDL> set_plot, 'PRINTER'
>> IDL> result = dialog_printersetup()
>>
>> Is there any way to return the new page size to an IDL application? I'm
>> talking about the actual width and height of the paper (i.e. 21.0 x 29.7
> cm
>> for A4), not the dimensions of the drawable area on the page (17.78 x
12.7
>> cm by default).
>> Even if one uses a printer object, I don't see how the paper size can be
>> obtained.
>
> Well apparently you can get the page size from the PRINTER device. But the
> results are not what I expected. The following example shows the result of
a
> test I did in IDL 5.4 for Windows. The default printer is an Epson Stylus
> Color 600.
>
> IDL Version 5.4 (Win32 x86). (c) 2000, Research Systems, Inc.
>
> The default PRINTER device settings:
>
> IDL> set_plot, 'PRINTER'
> IDL> help, /device
> Available Graphics Devices: CGM HP METAFILE NULL PCL PRINTER PS WIN Z
> Current graphics device: PRINTER
> Printer : EPSON Stylus COLOR 600
> Orientation: Portrait
> Scale Factor: 1
> Resolution: 361 dots per inch
> Current Font: Courier New, Current TrueType Font: <default>
> Size (X,Y): (17.78,12.7) cm., (7,5) in.
> Offset (X,Y): (1.905,12.7) cm., (0.75,5) in.
> IDL> device, get_page_size=page_size ; This command gets the page size
> IDL> print, page_size[0] / !d.x_px_cm, page_size[1] / !d.y_px_cm
> 20.9000 26.2000
>
> Now I call the printer configuration dialog, and select 'Letter 8.5 x 11'
> explicitly:
>
> IDL> result = dialog_printersetup()
> IDL> device, get_page_size=page_size
> IDL> print, page_size[0] / !d.x_px_cm, page_size[1] / !d.y_px_cm
> 20.9000 26.2000
>
> 8.5 x 11 in. converts to 21.59 x 27.94 cm. Hmmm.
>
> For the next case, I selected 'Legal 8.5 x 14':
>
> IDL> result = dialog_printersetup()
> IDL> device, get_page_size=page_size
> IDL> print, page_size[0] / !d.x_px_cm, page_size[1] / !d.y_px_cm
> 20.9000 33.8000
>
> 8.5 x 14 in. converts to 21.59 x 35.56 cm. Curiouser.
>
> For the final case, I selected 'A4 210 x 297 mm':
>
> IDL> result = dialog_printersetup()
> IDL> device, get_page_size=page_size
> IDL> print, page_size[0] / !d.x_px_cm, page_size[1] / !d.y_px_cm
> 20.4000 28.0000
>
> Once again, the page size returned differs from the actual page size.
> Perhaps the returned value is a printer-dependent 'printable area' of the
> page.

According to RSI technical support:

"The printer device can not print on the entire page. There is a small
margin (which varies from printer to printer) on each side of the page. The
GET_PAGE_SIZE keyword returns the full area the printer device is capable of
using.

For example, when your paper size was 8.5 X 11 inches (21.59 X 27.94 cm) the
entire printing area was 8.23 X 10.32 inches (20.9 X 26.2 cm). So your
right/left margin is approximately 0.14 inches and your top/bottom margin is
approximately 0.34 inches."

This may be of interest to anyone trying to configure the PRINTER device for
different page sizes.

Cheers,
Liam.
http://cimss.ssec.wisc.edu/~gumley
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: n-point FFT
Next Topic: Re: IDLWAVE 4.6

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 15:50:17 PDT 2025

Total time taken to generate the page: 0.47642 seconds