Problems importing IDL postscript from TV output into Adobe Illustrator [message #30827] |
Tue, 21 May 2002 11:57  |
ejensen1
Messages: 4 Registered: May 2002
|
Junior Member |
|
|
I'm using IDL 5.3 under Linux to create some postscript files that I'd
like to include in an Adobe Illustrator document. This works fine with
line drawings (PLOT, CONTOUR, etc.) but if I create a postscript file
using TV (or David Fanning's TVIMAGE), I cannot import it into
Illustrator. When I try to open the postscript file in Illustrator
or place it into an Illustrator document, one of two things happens:
1. If I created the postscript file without setting it to
be encapsulated (i.e. 'device, Encapsulated=0'), I get
the error "The MPS parser is unable to parse the file".
2. If I create an encapsulated postscript file (using
'device, Encapsulated=1') then the open just fails
silently. It opens an empty document (or if I'm placing
an image in an open document, nothing happens - I don't even
get an empty rectangle indicating a blank object placed there).
Note that Illustrator doesn't need an embedded preview - it will
quite happily display non-encapsulated postscript files with no
previews that I've created in IRAF or PGPLOT (or even IDL with PLOT,
but not with TV).
Choice of color table doesn't seem to matter, nor does using
/COLOR or not for the postscript device.
Under Linux, I can open the offending postscript files with
ghostview, and they print with no problem.
Does anyone have any idea what's going on, or other things to try?
I've looked around David Fanning's book and website and didn't find any
clues there, no is there anything obvious in Adobe's Illustrator
support docs on their site.
My system: IDL 5.3 under Redhat Linux 6.2; Illustrator 10.0.1 under
Mac OS X 10.1.3
Here's a minimal program that will generate a postscript file
that causes this problem:
pro test_tv, myfile, encap
loadct, 0
set_plot, 'ps'
device, file=myfile, Encapsulated=encap
; Make a 100x100 image with random pixels from
; 0 to 2^8 (to get random 8-bit grayscale pixels)
x = randomu(seed, 100, 100)*(2.^8 - 1)
tv, x
device, /close
end
Thanks in advance for your help.
Eric Jensen
Dept. of Physics and Astronomy
Swarthmore College
|
|
|