PostScript ist eine Seitenbeschreibungssprache. Sie benutzt die geometrischen Elemente auf einer Seite, also Kreise, Kurven, Linien, Standardschriften etc. Dieses steht im Gegensatz zur Beschreibung von Seiten z.B. für einfache Drucker. Dort wird jeder Punkt einzeln angegeben. Es ist klar, daß PostScript dadurch erheblich weniger Platz für die gleiche Seite benötigt. Allerdings ist PostScript auch in der Lage solche Bitmuster-Grafiken einzufügen.
PostScript ist wahrscheinlich die vielseitigste und weltweit am häufigsten verwendete Sprache für Drucker. Hochwertige Laserdrucker sind mit einem eigenen PostScript-Interpreter ausgestattet, sodaß sie PostScript-Dateien direkt drucken können.
Es existieren Interpreter für viele Ausgabegeräte wie Monitore, X11-Bildschirme, MS-Windows und natürlich auch für herkömmliche Drucker. Einige Programmierer schreiben ihre Programme oder Grafiken sogar direkt in PostScript. Das Betriebssystem NeXTStep benutzt PostScript sogar, um auf den Bildschirm zuzugreifen.
PostScript-Interpreter bedeutet, daß sich Ghostscript wie ein PostScript-Drucker verhält und die Befehle nacheinander abarbeitet und auswertet. Je nach FrontEnd wird das Ergebnis auf dem Bildschirm dargestellt, auf der Konsole oder unter X11, oder in Druckerbefehle für einen speziellen Drucker umgerechnet.
Ghostscript ist durch seine Fähigkeit berühmt geworden, PostScript-Dateien auf "normalen" Druckern auszudrucken, insbesondere auf alten Nadeldruckern, die kein PostScript verstehen. Manche Benutzer haben sich schon gewundert, zu welchen Glanzleistungen ihr "einfacher" Drucker fähig ist, nachdem sie unter Linux eine PostScript-Datei ausgedruckt haben.
Beim Aufruf wird die anzuzeigende PostScript-Datei in der Kommandozeile angegeben. Dort können ebenfalls Papierformate (A4, A3, letter etc.) sowie Auflösung und Orientierung spezifiziert werden. Die konkrete Liste der Parameter entnehmen Sie bitte der Manual-Seite.
Das Ghostview-Fenster ist in 4 Regionen unterteilt. Links oben stehen Informationen über die angezeigte Datei: das Erstellungsdatum und der Dateiname, wie er in der PostScript-Datei gespeichert ist. Zusätzlich werden innerhalb der runden Klammern die Koordinaten der Maus im Ausgabefenster angezeigt.
Der längliche Bereich enthält die Seitenauswahl. In diesem werden die in der PostScript-Datei vorhandenen Seitenzahlen angezeigt. Diese Liste kann sich über mehrere Seiten erstrecken, sie ist dann mit einer Scroll-Leiste ausgestattet. Wird eine Zahl mit der mittleren Maustaste (bzw. beiden Maustasten bei einer Zweitasten-Maus) ausgewählt, so wird diese Seite im nebenstehenden Ausgabefenster angezeigt. Mit den anderen Maustasten können mehrere Seiten gemeinsam selektiert werden.
Es kann passieren, daß die PostScript-Datei mehrere Seiten enthält, die Seitenauswahl jedoch nur die erste anzeigt. In diesem Fall fehlen in der PostScript-Datei entsprechende Marker. Für einen Ausdruck ist dieses nicht hinderlich, da es sich dabei nur um Kommentare handelt. Welche Seite angezeigt werden soll, kann dann lediglich mit den Seitensprungtasten 'Page Up' und 'Page Down' bzw. über das Menü "Page" gesteuert werden.
Da Texte von Zeit zu Zeit im Querformat gedruckt werden, bietet Ghostview ebenfalls die Möglichkeit, die Ausrichtung auf dem Bildschirm dementsprechend zu ändern. Die vier Ausrichtungen verbergen sich hinter dem Menüpunkt "Orientation". Abbildung 1 zeigt die verschiedenen.
Viele Programme, die wie a2ps oder mpage ASCII-Texte in PostScript-Dateien umwandeln, schreiben zwei Seiten nebeneinander auf eine. Dieses Querformat ist gleichbedeutend mit dem Menüpunkt "Landscape".
Einige Programme erzeugen PostScript-Dateien, in denen die Bedeutung von "Landscape" und "Seascape" vertauscht ist. In den meisten Dokumenten ist das Querformat als eine Drehung um 90° im Uhrzeigersinn definiert. Hier gibt es jedoch keinen Standart, sodaß man von Zeit zu Zeit auf Dokumente stößt, in denen die Drehung entgegen dem Uhrzeigersinn durchgeführt wird. Mit dem Menüpunkt "Swap Landscape" kann daher das Verhalten von Ghostview entsprechend angepaßt werden.
Es ist möglich, eine Gruppe von Seiten auszuwählen. Dieses macht nur dann Sinn, wenn sie auch getrennt vom Gesamtdokument weiterbearbeitet werden können. Über den Menüpunkt "File" kann diese Gruppe in einer neuen Datei gespeichert oder separat ausgedruckt werden.
Über den Menüpunkt "Magstep" kann die Auflösung eingestellt werden. Ghostview vergrößert bzw. verkleinert dabei jeweils um eine Potenz von 1.2. Der Wert "0" ist die Voreinstellung (1.2^0 = 1, also keine Vergrößerung) und sollte ungefähr der verwendeten Papiergröße entsprechen. Ghostview unterstützt ein Spektrum von -5 bis 5.
Ist die angezeigte Seite größer als der Ausschnitt, so werden an den Rändern des Ausgabefensters Scrollbars angebracht. Der angezeigte Ausschnitt kann jedoch nicht nur mit der Maus bewegt werden, sondern auch über die vi-üblichen Cursortasten hjkl.
Die herkömmlichen Cursortasten sind tückischerweise vollkommen anders belegt. Mit ihnen kann die Ausrichtung des Dokuments bestimmt werden wie folgende Tabelle verdeutlicht.
| hoch | Portrait |
| runter | Upside down |
| rechts | Landscape |
| links | Seascape |
Die eigentliche Arbeit wird von dem Programm 'gs' geleistet. Es nimmt den PostScript-Code und berechnet daraus eine Seite. Diese wird dann erneut für das gewählte Ausgabegerät umgerechnet und schließlich ausgegeben.
Der Quellcode enthält eine ganze Reihe von Definitionen für Ausgabegeräte. Welche tatsächlich eincompiliert wurden, kann man am besten mit dem Befehl "gs -h" herausfinden. Untenstehende Tabelle zeigt einige der wichtigsten.
| eps9high | Ausgabe für Epson 9 Nadeldrucker, hohe Qualität |
| dj500 | Ausgabe in PCL für die HP-DeskJet 500-Serie oder Kompatible |
| dj500c | Ausgabe in PCL für die HP-DeskJet 500-Serie oder Kompatible, Farbversion |
| x11 | Ausgabe für X11 Fenster, als X11 Bitmap |
| dfaxhigh | G3-Fax, hohe Qualität |
| dfaxlow | G3-Fax, niedrige Qualität |
| pbm | Ausgabe im pbm-Format zur Weiterverarbeitung mit netpbm oder pbmplus |
| tiffg3 | Ausgabe im Grafikformat TIF |
Dieses Backend wird normalerweise nicht direkt vom Benutzer aufgerufen. Stattdessen wird es von verschiedene Anwendungsprogramme wie z.B. ghostview oder xdvi und dvips verwendet, um PostScript-Dateien zu verarbeiten.
So erzeugt z.B. ghostview das grafische Ausgabefenster samt Kontrollelementen und zusätzlichen Statusanzeigen. Die PostScript-Datei wird an das Backend übergeben, welches die Befehle interpretiert und im Ausgabefenster darstellt.
Eine weitere Anwendung, die dem Benutzer meist verborgen bleibt, befindet sich in den Paketen apsfilter und sendfax. Mittels Ghostscript rechnet apsfilter automatisch zu druckende PostScript-Dateien in die passende Sprache für Ihren Drucker um. Aus Anwendersicht erscheint es dann so, als wenn an dem Rechner direkt ein PostScript-Drucker angeschlossen wäre.
Wer Dateien in speziellen Formaten benötigt, z.B. um eine Datei auf einem Rechner auszudrucken, der an einem DOS-Rechner angeschlossen ist, der muß allerdings das Backend manuell aufrufen. Die unterstützten Parameter sehen auf den ersten Blick etwas kryptisch aus, doch auch daran kann man sich gewöhnen. Steht man öfter vor dieser Aufgabe, dann schreibt man sich am besten ein kleines Skript für die Aufrufe.
Das zu verwendende Ausgabegerät wird mit der Option
"-sDEVICE=
Mit der Option "-r
Diese Aufteilung in Backend und Frontend bzw. User-Interface zeigt
die üblicherweise unter Unix verwendete Technologie. Für viele
Aufgaben existieren sogenannte Backends oder Server, die die
eigentlichen Aufgaben erledigen. Sie besitzen wohldefinierte und
dokumentierte Schnittstellen, welche von sogenannten Frontends
benutzt werden. Diese werden benutzerfreundlich gestaltet, während
die zugrundeliegenden Backends oftmals für Anwender nicht besonders
einfach zu bedienen sind.
Martin Schulze
echo quit|gs -dNOPAUSE -sDEVICE=dfaxhigh -sOutputFile=$1h%d.fax $1.ps
Quelle: Linux-Special vom Toolbox-Verlag '97
© Joey, 26 Dec '97