Aus LinuxUser 10/2001

Der lange Weg der Druckdaten

Verschlungene Pfade

Welche Wege und Umwege nimmt eine Datei, bis ihr Inhalt farbig oder schwarz auf weiß zu Papier gelangt?

Programme, die unter Linux druckbaren Output erzeugen möchten, kommen um die von Adobe entwickelte Seitenbeschreibungssprache PostScript nicht herum. Ihre Spezialität ist es, in einer eigenen Syntax all das exakt zu beschreiben, was als Grafik-Objekt auf einem Blatt Papier Platz findet – Linien, Bögen, Flächen, Punkte, Füllungen, Buchstaben in allen denkbaren Variationen. Fonts, Strichstärken, Farbtöne und -verläufe, Anordnung, Rotation, Skalierung, Verzerrung und viele andere Manipulationen der Darstellung sind machbar. PostScript kann sogar noch mehr als das: Es ist eine vollständige Programmiersprache, mit der sich notfalls die Zahl Pi berechnen, eine Festplatte formatieren oder eine Datei erzeugen lassen. Die neueste Version, PostScript 3, kann sogar „fremde“ Formate wie JPEG oder TIFF in ihre Dateien einbetten.

Vorzeiten

Als PostScript 1985 auf den Markt kam, war das eine große Erleichterung für Anwendungsprogrammierer. Denn zuvor mussten sie für jede ihrer Applikationen und für jedes darin unterstützte Drucker-Modell einen eigenen Geräte-Treiber schreiben. Mit der neuen, zwischen Applikationen und Druckern angesiedelten PDL („Page Description Language“) galt es nur noch, alles, was für die Darstellung auf Papier vorgesehen war, in dieser Sprache auszudrücken. Die Aufgabe, aus dem Format der Anwendung PostScript zu erzeugen, fiel einem „Treiberprogramm“ zu. Die Druckerhersteller waren dafür verantwortlich, dass ihre Geräte die PostScript-Anweisungen richtig umsetzten.

Im Laufe der Zeit kamen weitere Grafik- oder Seitenbeschreibungssprachen als Konkurrenz dazu. Denn Adobe verlangte für PostScript-Interpreter in den Druckern Lizenzgebühren. Verschiedene Hersteller wollten diese einsparen und entwickelten eigene PDLs.

Die wichtigsten sind heute PCL („Print Control Language“) von Hewlett-Packard, ESC/P („Epson Standard Code for Printers“) und GDI („Graphical Device Interface“) von Microsoft. Diese unterscheiden sich erheblich voneinander und sind weitgehend inkompatibel.

In professionellen Umgebungen (Desktop Publishing, PrePress und Publishing) ist PostScript nach wie vor unangefochten die Nummer Eins – genauso wie auf Linux-Systemen (obwohl gerade hier längst nicht das gesamte Potential von PostScript ausgeschöpft wird).

PostScript kann selbstverständlich auch „von Hand“ programmiert werden. Listing 1 zeigt ein einfaches Beispiel. Wer es als Text-Datei abspeichert, kann es direkt an einen PostScript-fähigen Drucker schicken und ausdrucken. Am Bildschirm lässt sich die Datei mit verschiedenen PostScript-Viewern anschauen. gimp, ghostview oder gv sind dafür gleichermaßen geeignet. Zu sehen bekommt man (auf Bildschirm oder Papier) die Darstellung aus Abbildung 1.

Abbildung 1: <link href="#article_l1" class="listing">Listing 1</link>, grafisch dargestellt
Abbildung 1: Listing 1, grafisch dargestellt

Listing 1

Ein Schnipsel PostScript-Code

%!PS            % Die ersten zwei Zeichen müssen immer '%!' sein.
 % zwei Vierecke % '%' leitet Kommentare ein. Der virtuelle
 100 100 moveto  % PS-Zeichenstift soll zur Koordinate (100,100)
 0 50 rlineto    % gehen, dann eine Linie 0 Einheiten nach rechts und
 50 0 rlineto    % 50 nach oben ziehen, weiter 50 nach rechts (0 nach
 0 -50 rlineto   % oben), zu guter Letzt 50 Einheiten senkrecht nach unten
 closepath       % und diesen "Pfad" schließen,
 .7 setgray      % als Farbton auf 70%-igen Grauwert schalten und
 fill            % das entstandene Viereck mit dieser Farbe füllen.
 %               % Das erstes Viereck ist fertig; die naechste Figur
 160 100 moveto  % wird auf analoge Weise konstruiert,
 0 60 rlineto    % allerdings mit z. T. "schiefen"
 45 10 rlineto   % Linien und mit einem dunkleren Grau gefüllt
 0 -40 rlineto   % (20% ist als PostScript-Farbwert
 closepath       % dunkler als 70%).
 .2 setgray      %
 fill            % Der abschließende Befehl "showpage" weist
 showpage        % den Drucker zum Seitenausstoß an.

Mit Zeilendruckern fing es an

Heutige Laserdrucker sind „Seitendrucker“: Sie setzen das komplette Bild einer Seite zuerst pixelweise als Bitmap komplett in ihrem Arbeitspeicher zusammen, bevor dieses zu Papier gebracht wird. Ihre „Eigenintelligenz“ lässt sie sogar als selbstständige Knoten in TCP/IP-Netzen fungieren.

Frühere Drucker waren „Zeilendrucker“; daher auch der Begriff „Line Printer“. Grafik im heutigen Sinne war nicht druckbar, Drucker konnten nur Buchstaben und andere Zeichen wiedergeben und dabei maximal vier verschiedene Fonts benutzen. Seiten wurden Buchstabe für Buchstabe gedruckt (d. h., mechanisch auf das Medium gehämmert), wobei eine zickzackgefaltete Papierschlange aus einem Karton gezogen und durch den Drucker geführt wurde. Die Geräte waren direkt (meist über eine serielle Schnittstelle) am Host angeschlossen. „Netzwerk“-Drucken bedeutete, die Druckdatei von einem Host an einen anderen zu übertragen, damit dieser sie an einem bei ihm angeschlossenen Gerät ausgab.

Vom PostScript auf Platte zur Bitmap auf Papier

Was heutige Drucker auf Papier hinterlassen, ist lediglich eine bestimmte Anordnung von vielen (eventuell farbigen) Einzelpunkten. Wenn diese fein und dicht genug nebeneinander angeordnet sind, erscheinen sie dem menschlichen Auge als Linien, Flächen und Farbverläufe. Dieses Punktraster muss der Marking Engine eines Druckers fertig übergeben werden.

Die Druckdatei existiert anfangs als PostScript. Um aus diesen Anweisungen zum endgültigen Punktmuster für den Zieldrucker zu kommen, muss viel gerechnet werden. Dieser stark die CPU belastende Prozess wird RIP („Raster Image Prozess“) genannt.

Echte PostScript-Drucker nehmen den PostScript-Code direkt entgegen. Für den Anwender am problemlosesten und zuverlässigsten, sorgen sie intern selbst für das „RIPen“. Vor ihr Druckwerk ist ein „Raster Image Prozessor“ (ebenfalls RIP genannt) geschaltet, oft in Form eines Spezialchips. Dieser sorgt für die PostScript-Interpretation und erzeugt die Rasterdaten. Manche Hochleistungsdrucker nutzen einen eigenen Unix-Rechner, der ein Software-RIP beinhaltet, das als PostScript-Interpreter fungiert (Abbildung 2 links).

LinuxUser 10/2001 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: