ZI/RZU
Uni ZH | Informatikdienste | PostScript | Abfrage Operatoren (cgi) | Abfrage Operatoren (php)
  1. PostScript as a page description language
  2. Was ist PostScript?

1. PostScript as a page description language

ADOBE POSTSCRIPT

PostScript (from Adobe Systems) is an interpreted, stack-oriented language for describing, in a device-independent fashion, the way in which pages can be composed of characters, shapes, and digitized images in black and white, gray scale, or color. Concerning the text/graphics field, PostScript is now the most widely used printer controller in the industry. It gives computer users total control over text, graphics, color-separations, and halftones.

The page description language recognizes a page that is created by the user, as a unity and converts the elements of the page into control data for the output device. The printing engine receives the control data in its own format and resolution. The resolution of these control data amounts for instance to 300 dots per inch (dpi) on a page printer or 1000 dots per cm on a typesetter. Today, PostScript compatible imagesetters are sold by all manufacturers of typesetters.

PostScript language programs are used for communication between a software product (PageMaker for instance) and a printing system, and enable the user to mix text, graphics, and images from various sources.

Short comparison between PostScript and C

The page description language serves as an interface between an application program and a printing subsystem. Normally, the PostScript language code is generated by a driver program, e.g. by MS Windows, Adobe Illustrator, PageMaker. However, PostScript can be generated by the end-user as well as a piece of a Lisp or C program.

Let's take the first program from the "C book" by Kernighan and Ritchie:

main()
{
   printf("hello, world\n");
}
This program prints the character string
hello, world
and makes a final line feed to the beginning of the next line. When you try to translate this program into PostScript, it may look as follows:
%!
/Courier findfont 10 scalefont setfont
   0 100 moveto
   (hello, world) show
   0 88 moveto                
showpage
At first glance, you cannot find much similarity between the two. This is because PostScript is a graphical programming language. You have to specify how the character string will be printed:
  1. In which typeface (Courier).
  2. In which point size (10).
  3. At which starting position or coordinate point respectively (0 100 moveto means move 0 points to the right and 100 points up from the lower left corner of the paper sheet).
In addition, we program the line feed (\n) by doing a vertical motion downwards (0 88 moveto).

PSHEAD PostScript program structure.


2. Was ist PostScript?

An der Uni Zürich stehen über 800 Laserdrucker im Einsatz. Der weitaus grösste Teil davon ist mit einem sogenannten PostScript-Kontroller ausgerüstet, da das RZU seit 1985 eine entsprechende Flottenpolitik verfolgt hat. Aber was ist PostScript?

Chamäleon

Ein deutsches PC-Magazin hat PostScript einmal als Chamäleon bezeichnet. Diese Bezeichnung ist gar nicht so schlecht, verfügt doch PostScript über sehr viele Facetten.

Typischer PostScript-Effekt: ein farbiges Textrad

Als Beispiel hier ein kleines PostScript-Programm, das die beiden Ressourcen Fonts und Farben demonstriert:
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 600 600
%%EndComments
100 100 translate
2 2 scale

    0 0 200 200 rectfill	% schwarzer Hintergrund 
    gsave
    /Times-Italic findfont 24 scalefont setfont % Schrift
    100 100 moveto
    /width (XX) stringwidth pop def		% Zeichenbreite 
    0 1 18 div 1 { 1 1 sethsbcolor 
        20 rotate			 	% drehen 
	gsave width 0 rmoveto (UNIX) show grestore 
    } for
    grestore

showpage		% Seite drucken 
UNIX

Das Beispiel dreht und zeichnet einen Schriftzug "UNIX" achtzehnmal. Der Farbton geht in 1/18-Schritten von 0 bis 1, sodass das Textrad mit der ganzen Farbenpracht glänzt: die Färbung beginnt bei Rot (Abb., rechts), geht im Gegenuhrzeigersinn über Orange nach Gelb (oben), dann via Grün (links) nach Blau (unten) und schliesslich über Violett wieder nach Rot. Falls -- wie meist -- kein Farbdrucker zur Verfügung steht, werden die Farben in Graustufen umgewandelt.

Zum im Programm verwendeten Zeichensatz sind folgende Punkte anzumerken: Mit dem %-Zeichen wird ein PostScript-Kommentar eingeleitet. Alle Zeichen bis zum Zeilenende werden dann vom PostScript-Interpreter als Kommentar angesehen und nicht mehr beachtet. Zeichenketten stehen zwischen runden Klammern. Beispiel:

(UNIX)
Die geschweiften Klammern weisen immer auf etwas Ausführbares hin. Im Beispiel steht der gesamte Schleifenkörper innerhalb geschweifter Klammern.

Grafische Fileformate

Die "Graphics File Formats" dienen dazu, eine Datei nach deren Datentyp zu klassieren. Bitmap- oder Raster-Files bestehen aus einzelnen Bildpunkten (mit Farben oder Graustufen) und enthalten typischerweise Foto-Bilder -- Beispiel: TIFF. Vektordaten bestehen aus mathematischen Gleichungen und enthalten Strichzeichnungen und CAD-Informationen. Metafiles können sowohl aus Bitmap- als auch Vektor-Daten bestehen -- Beispiel: Apple PICT. Seitenbeschreibungssprachen (Page Description Languages) wie PostScript beschreiben Druckseiten, die aus Text und Grafik zusammengesetzt sind. Allerdings kann ein PostScript-File neben Text und Grafik auch Bilder enthalten. In EPS-Files sind häufig Firmenlogos abgelegt. Im Gegensatz zu PostScript ist PCL lediglich eine Kommandosprache für die Druckersteuerung.

Eine Animation besteht aus einer Reihe von Bildern, die in Serie gezeigt werden. Multidimensionale Formate beschreiben Objekte, die aus verschiedenen Perspektiven betrachtet werden können. Multimedia-Formate können sämtliche der oben erwähnten Datenformate speichern, einschliesslich Video und Ton.

Ein Hypertext-File enthält Hypertext-Links, d.h. sensitive Textstelle (meist farbig gekennzeichnet), die auf andere Dokumente verweisen.

In der PC-Welt gibt es eine Vielzahl von Konversionsprogrammen, die ein Grafikformat in ein anderes umwandeln können. Einige Arten der Formatumwandlung:

  1. Bildpunktformat -> Bildpunktformat (relativ einfach)
  2. Vektorgrafik -> Vektorgrafik (je nach Funktionsumfang können einzelne Elemente nicht abgebildet werden)
  3. Vektorgrafik -> Bildpunktformat (ist mit einem Informationsverlust verbunden)
  4. Bildpunktformat -> Vektorgrafik (eher schwierig)

PostScript-Operatoren: wichtige Operatoren mit Operanden

PostScript-Fehler: typische Fehlersituationen

Was sind Bézier-Kurven?

Möchten Sie noch ein Wasserzeichen fabrizieren?

Literatur

Vollenweider, Peter: PostScript, 2. Auflage, Carl Hanser Verlag, München und Wien, 1991. Buchdeckel (Auflagen von 2000 und 1000 Ex. sind vergriffen).
Uni ZH | Informatikdienste | PostScript
HTML 3.2 Last update: Sunday, 26-Dec-2004 22:12:27 CET by vo