EPS in ten easy stages

  1. EPS stands for Encapsulated PostScript. PostScript was originally designed only for sending to a printer. But PostScript's ability to scale and translate (move the origin of) what follows makes it possible to embed pieces of PostScript and place them where you want on the page. These pieces are usually EPS files. EPS is considered a graphic file format.

  2. The PostScript in an EPS has to follow certain rules. For instance, it shouldn't erase the page since that would affect the whole page, not just its own part. Another forbidden thing is selecting a page size, because this would both change the size of, and erase, the whole page.

  3. An EPS file has to include a special header, so the PostScript can be understood. The header is made up of PostScript comments (starting %) which have no effect on a printer. The most important comment is %%BoundingBox. This gives the location of the EPS picture if it is not scaled or translated. A DTP program uses this information to place the picture accurately within a page. The PostScript part of an EPS file is 'stripped in' to the PostScript generated as the document is printed, preceded by PostScript 'scale' and 'translate' instructions.

  4. If you send an EPS file to the printer it might print a copy of the graphic. Or it might print nothing at all. Or a blank page. EPS files aren't designed for printing, but sometimes you're lucky. At the very least, EPS files always print on a default page size since they mustn't include a page size.

  5. When a DTP program uses an EPS graphic, it isn't smart enough to interpret the PostScript in the EPS to show a picture. So, the EPS file is often accompanied by a preview. This is a low resolution picture the DTP program does know how to show. There are several forms of preview. An EPS file without a preview is still usable but probably shows on screen as a grey box - people expect more than that!

  6. There are three types of preview: Macintosh, DOS, and system independent. The Macintosh preview is a PICT graphic in the EPS file's resource fork. This means the EPS file's data fork contains just PostScript. The DOS preview is embedded in the file, and there's a special header starting X'c5d0d3c6'. An DOS EPS with preview cannot be printed until the header and preview are removed. In DOS the preview is embedded as a TIFF or WMF graphic.

  7. An EPS file with system independent preview is called EPSI. This adds a monochrome bitmap as comments inside the file. It isn't really system independent since in Macintosh and DOS many applications don't support it. They can use the file, but won't show the preview.

  8. Many Macintosh programs will read DOS format EPS files, and handle them OK if they contain a TIFF preview. DOS programs can read Macintosh EPS files but they can never see the preview hidden in the resource fork.

  9. Other variations of EPS which may make a file unusable are binary and level 2. Binary EPS files work well on a Macintosh, but most PCs can't print them, because any Control+D in the data will reset a typical PC PostScript printer. Most EPS files written on a Macintosh are binary and so don't work on most PCs. Level 2 EPS files can only be printed on a level 2 printer. These are still rare, but Adobe Photoshop's JPEG EPS files are level 2.

  10. Naming is confusing. EPS and EPSF (Encapsulated PostScript File) are exactly the same thing. There is no proper name to distinguish EPS-with-preview from EPS-without-preview. To make matters worse some people use EPS to describe any PostScript file on disk, including those that are just for printing. There isn't an agreed term for PostScript-files-which- are-printable-and-not-EPS either.

See also

Making an EPS file, with a shameless plug for PSAlter and its facility to convert PostScript to EPS.

DCS, OPI and friends

Go back to our PostScript introduction
Go to Quite At Home.