[comp.sys.mac] Adobe Illustrator file format

mday@zeno.mmwb.ucsf.edu (03/01/89)

Does anyone have any information on the PostScript file format used by
Adobe Illustrator?  We would like to modify some of our in-house
programs such that the PostScript files they create can be read in 
by Illustrator.  This would then allow our users to easily edit and
further annotate their figures.

I have looked at some sample Illustrator files, but deducing the type
of PostScript that Illustrator will swallow from a few sample
files is not a trivial task.  Has somebody already done this?

In addition, I have checked the PostScript archive server at adobe.com, for
an Illustrator file specification, but it doesn't seem to contain such
a document.  Has anyone heard if such a document exists, or does
Adobe consider the Illustrator file format to be proprietary information?

Thanks for your help,
----------
		Mark Day
ARPA:		mday@cgl.ucsf.edu
UUCP:		..ucbvax!ucsfcgl!mday
BITNET:		mday@ucsfcgl.BITNET

garth@cs.swarthmore.edu (Garth Snyder) (03/02/89)

[ Quidquid latine dictum sit, altum viditur. ]

    In article <11401@cgl.ucsf.EDU> mday@zeno.mmwb.ucsf.edu writes:
    
    Does anyone have any information on the PostScript file format
    used by Adobe Illustrator?
    
    I have looked at some sample Illustrator files, but deducing the
    type of PostScript that Illustrator will swallow from a few sample
    files is not a trivial task.

The format Illustrator uses is just plain PostScript.  However, there
is a library that must first be loaded in order to interpret the
Illustrator output correctly.

You can get a copy of the library by printing a simple Illustrator
document and capturing the PostScript output to disk with the backdoor
F key trick.  Then just clip off everything at the end of the file
that relates to your specific document.  Voila.  Notice that saved
files are _identical_ to PostScript printing dumps minus the header
code.

Once you have the header, you can read it to find out what each one or
two-letter abbreviation does.  The Illustrator library is much more
readable than Apple's Laser Prep file, but still this is a non-trivial
undertaking.

Good luck!

--------------------
Garth Snyder                 UUCP: {bpa,liberty}!swatsun!garth
Swarthmore College     ARPA/CSNET: garth@cs.swarthmore.edu
Swarthmore, PA 19081         ALSO: garth@boulder.colorado.edu
--------------------

edwards@bgsuvax.UUCP (Ken Jenkins) (03/06/89)

In article <2503@masada.cs.swarthmore.edu>, garth@cs.swarthmore.edu (Garth Snyder) writes:
>     In article <11401@cgl.ucsf.EDU> mday@zeno.mmwb.ucsf.edu writes:
>     
>     Does anyone have any information on the PostScript file format
>     used by Adobe Illustrator?
>     
>     I have looked at some sample Illustrator files, but deducing the
>     type of PostScript that Illustrator will swallow from a few sample
>     files is not a trivial task.

It is not at all that difficult to produce Illustrator files through an
external "generator", provided you're nice and don't give it indigestion.
We do it as a routine step in making negatives which are used to create
flexographic printing plates. The company I work for produces custom
labeling products and each label we produce in Illustrator must be
stepped (mutiplied horizontally), repeated (multiplied vertically) and
distorted (a unidimensional scale), before it can be printed on negative
film. Depending on the type of label it is, the number of steps, repeats,
and scaling factor and direction will change. Of course we could require
the artists to do this themselves, Illustrator allows for all these functions
internally, but we find it more productive to have the artist produce a
single image in Illustrator and save it with a filename idnetifying which
of our labeling products the image will be printed as. I wrote a simple
program which parses the filename, looks up the step, repeat and distort
parameters for the product in a database file (produced by FileMaker 4 for
you Macists) and then the Illustrator file is "adjusted" to represent the
step, repeat, and distortion required. After a batch of files is run through
the Step&Repeat program they are submitted in batch to the LinoTron print
queue. After the processing of the file the file can still be "double-clicked"
(sheesh what a verb!) back into Illustrator. Another way that being able
to fabricate an Illustrator file comes in handy is in producing UPC barcodes
as a part of a label. UPC barcodes have very exacting specifications if you
plan to print thousands of them and expect readability. Now you could produce
a UPC barcode by hand in Illustrator (for those of you who like Zen exercises
I recommend this :-) but we find it more productive to use a frontend program
which generates the barcode, then we simply "build" the rest of the label
around it in the normal manner.

The document describing the way an Illustrator file ought to look and behave
is available from ADOBE. It clearly describes the operator redefinitions
and special comments used by Illustrator. Keep in mind, Illustrator is
dealing with interactive screen imaging as well as producing the final
PS product to be printed. You can also "imbed" your own code in an
Illustrator file in such a way as to be ignored by Illustrator but not
by the PS interpreter later (not for the fainthearted :-) but really
rather simple). Again, as long as you make every effort to keep Illustrator
happy and don't give it anything to choke on .... no problems.

We ran into one tiny drawback in submitting our stepped and repeated
batch jobs when they contain a scanned image. In order to divorce the
PS final product from Illustrator as the agent submitting the job to
the print queue, we would have had to multiply the scanned image within
the file as well. This is impossible in that many of our scans are very
large and disk space becomes an issue. Illustrator has a way when it
prints one of its files that contains a scanned image of referring to
a pathname within the file, going and getting the image off of the disk
and shoving it in whenever and whereever its required. Because this
ability is part of Illustrator, and not something I can replicate as
a standalone ability in the PS file, we're stuck using Illustrator
as the mechanism for submitting the files. I would rather be able to
put one image at the beginning of the file itself and have the inter-
preter generate the multiple images at print time. If I could do this
I could create a "stand alone" PS file which I could then access using
a general purpose "print-all-these-files-in-this-folder-at-10pm" type
program. Is that clear? :-)

If this makes any sense to anybody
out there and they can offer a suggestion about how to go about this
please let me know.


Disclaimer: My name is Ken Jenkins and I am here as a guest of Bruce Edwards
            to whom this account belongs. Although he may be interested or even
            amused by my ramblings, he should not be held accountable for them 
            in any way.  
-------------------------------------------------------------------------------
"In the late Devouring Period, fish became obnoxious. Animals without
 backbones hid from each other or fell down." --Firesign Theater
-------------------------------------------------------------------------------
Ken Jenkins (as a guest of Bruce Edwards)    CSNET: edwards@bgsu.edu
                                           ARPANET: edwards@andy.bgsu.edu
                                              UUCP: ..!osu-cis!bgsuvax!edwards