A First Guide to PostScript

This is the third edition of the First Guide to PostScript. It differs from the first and second in that a number of errors which people have brought to my attention have been fixed and a number of common reader questions have been addressed. Some more information on resources has also been added. It is my hope that this document is now stable and reasonably error-free. If you find an error, please send me e-mail and let me know. I can't promise that I'll fix it right away, but I will at least add it to my list of things to do.

By the way, I wish to thank the many people who have written to point out errors in this document's predecessor. Many of the improvements are due to them.

About this Document

This is meant to be a simple introduction to programming in the PostScript page description language from Adobe. This document is not meant to be a comprehensive reference manual (although it does contain an index of some of PostScript's standard operators and a list of various errors). There are far better reference books, if this is what you need. Instead, this is meant as an easily accessible on-line tutorial. It was written with the assumption that you have some experience programming and are familiar with concepts like arrays and variables.

The scope of this document is fairly limited. I cover only a subset of PostScript Level 1 (the earliest version). Adobe brought out an improved version of PostScript (Level 2) some years ago, and they just recently introduced Level 3. This document was never meant to cover these versions of PostScript (although the code I present here should run just fine on a Level 2 or Level 3 capable printer). Likewise, I do not cover any advanced printing concepts like color separations or halftone screens (this is mainly due to ignorance on my part, I am an engineer... not a printer or graphic designer... although I do admire good graphic design when I see it).

I have created this document because I have noticed that many people on the Internet have been asking for some online document to get them started. I decided that this was a good opportunity. I have benefitted from the free and open nature of the Internet (most of the software I use is freeware or shareware). This is my opportunity to give something back to the community and to try to perpetuate something of the original community atmosphere that existed when I first started using it.



PostScript is a registered trademark of Adobe Systems Incorporated. The copyright to the PostScript language is also held by Adobe Systems Incorporated. Legal questions concerning these issues should be directed to them. Please note that this site is not related to, supported by, or condoned by Adobe in any way. It is an independent site and is not official.

Note to European Readers

There have been many European visitors to this page. As a service to them, a mirror site has been established in Germany by some people at the GKSS Research Center. It will be available to our European friends to help speed up access and reduce the load on the transoceanic links. Unfortunately, the guide will still be in English (I'm a typical American, in that I speak about five words of French and even fewer of German). Many thanks to them for their interest in setting up this mirror!


No warranty or guarantee, either expressed or implied, is made as to the correctness of this document. The author can not be held responsible for any damages that may occur through the use of any code contained herein.

You get what you paid for.

That noted, permission to copy freely all information within this document is granted free of charge, so long as the original author is acknowledged. This document is not in the public domain, and the author retains the copyright.

McKinley Three Stars
pjw 1/18/97