Encapsulated PostScript is a DSC-conforming PostScript document with additional restrictions
which is intended to be usable as a graphics file format.
In other words, EPS files are more-or-less self-contained, reasonably predictable PostScript
documents that describe an image or drawing and can be placed within another PostScript
document.
Simply, an EPS file is a PostScript program, saved as a single file that includes a low-resolution
preview "encapsulated" inside of it, allowing some programs to display a preview on the
screen.
At minimum, an EPS file contains a BoundingBox DSC comment, describing the rectangle containing
the image described by the EPS file.
Applications can use this information to lay out the page, even if they are unable to directly
render the PostScript inside.
EPS, together with DSC's Open Structuring Conventions, form the basis of early versions
of the Adobe Illustrator Artwork file format.
Identification Because of the different ways in which EPS
previews are handled, there is no one way to identify an EPS file.
A Windows-format EPS file containing a TIFF or WMF preview must start with the four bytes
containing, in hexadecimal, C5 D0 D3 C6.
These bytes comprise the first four bytes of a 30-byte header, whose remaining fields
are six unsigned 32-bit integers and a 16-bit checksum.
EPS files having "DOS" WMF or TIFF previews are widespread on all platforms.
In all other cases an EPS file must start with a line %!PS-Adobe-a.b EPSF-c.d where
a, b, c and d are all single digit numbers.
A Mac-format EPS file is accompanied by a resource fork.
The preview is a PICT resource with ID 256.
An EPS file on the Mac is expected to have a file type code of "EPSF", whether or not
it has a preview.
An EPSI file will contain a line starting %%BeginPreview: in the DSC prolog.
In many cases no preview is present at all.
Saving A number of programs will save or convert
text and vector art to EPS format, including: Adobe Acrobat
Adobe Illustrator Adobe InDesign
Adobe Photoshop CorelDRAW
Cytoscape FlexiSign
Ghostscript GIMP
GNU Octave IDL
ImageMagick Inkscape
InPage LaTeX
LibreOffice Draw Macromedia Freehand
Maple Mathematica
MathType Matlab
OmniGraffle OpenOffice.org Draw
PhotoImpact X3 QuarkXPress
R Scribus
Stata Swift Publisher
Xara Xfig
Many image converter programs can create EPS files containing the pixels of the image.
An EPS file is a stream of generic PostScript printing commands.
Thus many PostScript printer drivers have an option to save as EPS, or to add EPS DSC
information to their output which you can "print to file".
Saving as EPS was a feature of Microsoft's PSCRIPT.DRV Windows printer driver and Adobe's
ADOBEPS.DRV Windows printer driver for Windows versions prior to Windows 2000.
Previews EPS files also frequently include a preview
picture of the content, for on-screen display.
The idea is to allow a simple preview of the final output in any application that can draw
a bitmap.
Without this preview the applications would have to directly render the PostScript data
inside the EPS, which was beyond the capabilities of most machines until recently.
When EPS was first implemented, the only machines widely using PostScript were Apple Macintoshes.
These machines could not directly render the PostScript, which presented Adobe with the
problem of how to provide a preview image while also including the actual PS version
for the printer.
On the Mac this turned out to be easy to solve, as the Mac file system includes two parts
that are logically referred to as one file.
By placing the PostScript in the data fork and a standard Mac PICT resource in the resource
fork, both images could be moved about together invisibly as if they were one file.
While a PICT preview often contains a bitmap it could also contain a vector representation
of the whole image, providing very high quality previews.
Neither of these technologies is commonly used on any other operating system, however.
When faced with the same problems on Microsoft Windows-based versions of their programs,
Adobe chose to instead include a TIFF file encoded into the header section of the PostScript.
Sometimes, though more rarely, they used the WMF format instead.
WMF has the potential to provide vector previews, similar to PICT on the Mac.
Both of these PC format EPS files have a particular disadvantage: because the PostScript data,
header and preview are all in the same file, they will cause printing errors if a program
does not understand the format well enough to extract only the PostScript data.
A fourth format known as a EPSI includes an ASCII-encoded preview bitmap.
This format allows for black-and-white previews only.
It is mainly used on UNIX systems.
Unfortunately, with several different ways of representing the preview, they have limited
portability.
An application which is unable to interpret an EPS file's preview will typically show
an empty box on screen, but it will be able to print the file correctly.
The most widely supported kind of preview is a Windows format preview with a TIFF.
See also Portable Document Format
Scalable Vector Graphics References
Further reading Adobe Developer Support, 1992.
Encapsulated PostScript — File Format Specification, Version 3.0, Tech Note #5002, Adobe Systems
Incorporated, San Jose, CA, USA, 34 pp. PDF A First Guide to PostScript Encapsulated PostScript
[1] PostScript vs. PDF, Adobe : official introductory
comparison of PS, EPS vs. PDF.
EPS: a programming language [2]