Encapsulated PostScript (EPS) is a
Document Structuring Convention (DSC) conforming
PostScript
PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
document format usable as a
graphics file format
An image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be c ...
. The format was developed as early as 1987 by
John Warnock
John Edward Warnock (October 6, 1940 – August 19, 2023) was an American computer scientist, inventor, technology businessman, and philanthropist best known for co-founding Adobe Systems Inc., the graphics and publishing software company, wit ...
and
Chuck Geschke, the founders of
Adobe
Adobe (from arabic: الطوب Attub ; ) is a building material made from earth and organic materials. is Spanish for mudbrick. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is use ...
, together with
Aldus. The basis of early versions of the
Adobe Illustrator Artwork
Adobe Illustrator is a vector graphics editor and Computer-aided design, design software developed and marketed by Adobe Inc., Adobe. Originally designed for the Apple Inc., Apple Mac (computer), Macintosh, development of Adobe Illustrator began ...
file format is formed by EPS together with the DSC Open Structuring Conventions.
In short, EPS files are self-contained, reasonably predictable PostScript documents that describe an image or drawing and can be placed within another PostScript document. An EPS file is essentially a PostScript program, saved as a single file that includes a low-resolution preview "encapsulated" within it, allowing some programs to display a preview on the screen. An EPS file contains a DSC comment describing the rectangle containing the image. Applications can use this information to lay out the page, even if they are unable to directly render the PostScript inside.
Previews
EPS files 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 (PS) data inside the EPS, which was beyond the capabilities of most machines that used PostScript.
When EPS was first implemented, the only machines widely using PostScript were
Apple Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
es. These machines could not directly render the PostScript, which presented
Adobe
Adobe (from arabic: الطوب Attub ; ) is a building material made from earth and organic materials. is Spanish for mudbrick. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is use ...
with the dilemma of how to provide a preview image for the designer while also including the PS version for the printer. On the Mac this turned out to be easy to solve, as the Mac file system includes two parts (known as ''forks'') that are logically referred to as one file. By placing the PostScript in the data fork and a standard Mac
PICT
PICT is a graphics file format introduced on the original Apple Macintosh computer as its standard metafile format. It allows the interchange of graphics (both bitmapped and vector), and some limited text support, between Mac applications, an ...
resource in the
resource fork
A resource fork is a fork of a file on Apple's classic Mac OS operating system that is used to store structured data. It is one of the two forks of a file, along with the data fork, which stores data that the operating system treats as unstruct ...
, both images could be moved about together invisibly as if they were one file. While a PICT preview often contains a
bitmap
In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
As a noun, the term "bitmap" is very often used to refer to a partic ...
, 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
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
-based versions of their programs, Adobe chose to instead add a
TIFF
Tag Image File Format or Tagged Image File Format, commonly known by the abbreviations TIFF or TIF, is an image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers. TIFF is w ...
file encoded into the header section of the PostScript. Sometimes, although more rarely, they used the
Windows Metafile (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
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
-encoded preview bitmap. This format provides only black-and-white previews. It is mainly used on
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
systems. With several different ways of representing the preview, EPSI files have limited portability. An application that 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.
Vulnerability
Due to the ability to use embedded scripts,
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
removed support for EPS files in
Microsoft Office
Microsoft Office, MS Office, or simply Office, is an office suite and family of client software, server software, and services developed by Microsoft. The first version of the Office suite, announced by Bill Gates on August 1, 1988, at CO ...
programs in May 2018.
See also
*
Portable Document Format
Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating syste ...
(PDF)
*
Scalable Vector Graphics
Scalable Vector Graphics (SVG) is an XML-based vector graphics format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
(SVG)
References
Further reading
*
A First Guide to Encapsulated PostScript* : official introductory comparison of PS, EPS vs. PDF.
EPS: a Programming Language{{Graphics file formats
Graphics file formats
Vector graphics markup languages