Direct Printing Problem [message #17900] |
Wed, 17 November 1999 00:00  |
Osamu Sasaki
Messages: 2 Registered: November 1999
|
Junior Member |
|
|
Hi,
This is a simple printing program.
PRO TEST
save = !D.NAME
SET_PLOT, 'PRINTER'
ret = DIALOG_PRINTERSETUP()
HELP, /DEVICE
PLOT, INDGEN(10)
DEVICE, /CLOSE_DOCUMENT
SET_PLOT, save
END
Run this program on IDL 5.2 (Windows).
Select PostScript printer(output device),
A3(media), landscape(orientation) and press OK.
The output is like this.
+------------+
| |
| |
| ###### |
| ###### |
+------------+
(# is plotted area)
It should be like this.
+------------+
| ########## |
| ########## |
| ########## |
| ########## |
+------------+
And it works correctly with other printers (LIPS, ESC/Page, PCL, etc.).
Why only PostScript printers ?
Is there any way to solve this problem ?
Thanx.
-----
Osamu Sasaki
dasaki@pc.highway.ne.jp
|
|
|
Re: Direct Printing Problem [message #17956 is a reply to message #17900] |
Fri, 19 November 1999 00:00  |
Michael Asten
Messages: 53 Registered: March 1999
|
Member |
|
|
Osamu Sasaki wrote:
> Hi,
>
> This is a simple printing program.
>
> PRO TEST
> save = !D.NAME
> SET_PLOT, 'PRINTER'
>
> ret = DIALOG_PRINTERSETUP()
>
> HELP, /DEVICE
> PLOT, INDGEN(10)
> DEVICE, /CLOSE_DOCUMENT
>
> SET_PLOT, save
> END
>
> Run this program on IDL 5.2 (Windows).
> Select PostScript printer(output device),
> A3(media), landscape(orientation) and press OK.
>
> The output is like this.
>
> +------------+
> | |
> | |
> | ###### |
> | ###### |
> +------------+
>
> (# is plotted area)
>
> It should be like this.
>
> +------------+
> | ########## |
> | ########## |
> | ########## |
> | ########## |
> +------------+
>
> And it works correctly with other printers (LIPS, ESC/Page, PCL, etc.).
>
> Why only PostScript printers ?
> Is there any way to solve this problem ?
>
Im not a postscript user, but I had a similar offset problem on direct
printing to windows printers when upgrading from idl5.1 (gave correct
positioning) to idl5.2 (did not give correct positioning).
It turns out that idl 5.2 introduced a default clip area on the page. I
recall a comment from RSI that the change also related to postscript plots,
so it is possible your problem is similar to mine.
In order to use the full A3 page on my printer (an HP1000C) I have to use
the following:
set_plot, "printer",/copy
r=dialog_printersetup()
; Get the page size (dependent upon page type selected from the dialog).
DEVICE, GET_PAGE_SIZE=pageSize ; this is a secret command, not in
documentation !!
; Set the drawing area based on that page size.
DEVICE, XOFFSET=0, YOFFSET=0, XSIZE=pageSize[0],
YSIZE=pageSize[1],/DEVICE
; Note that the DEVICE keyword is required for that last call (since
; pageSize is measured in pixels).
;Note also that you may want to use only a portion of the overall page
; size. In this case, you can apply a proportional scale to the
queried page
; size (and adjust the xoffset and yoffset as you wish).
Does this help?
Regards,
Michael Asten
|
|
|