Verschlungene Pfade

Der lange Weg der Druckdaten

01.10.2001
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: 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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Unter Druck
    Um unter Linux Drucker einzurichten, hilft es, ein paar Dinge über das Druckertreiber-System und seine Wurzeln zu wissen.
  • ESP Ghostscript 7.05.1-1 freigegeben
    Insider haben es lange erwartet -- seit gestern ist es da:das ESP Ghostscript 7.05.1-1
  • Zu Befehl: gs & psutils
    PostScript ist eine plattformunabhängige Programmiersprache, in der Texte und Grafiken an Drucker übermittelt werden. Neben den bekannten Viewern für diese Formate gibt es auch auf der Kommandozeile viele nützliche und schnelle Tools, die .ps-Dateien bearbeiten und anzeigen. Wir zeigen, wie Sie mit Ghostscript und den PSUtils "geistreich" arbeiten.
  • Drucker-Grundlagen
    Die Druckerverwaltung unter Linux ist ein komplexes System. Wer sich in die Details einarbeitet, stößt auf Queues, PostScript, Druckertreiber und Filter. Dank der automatischen Hardware-Erkennung in Yast bleibt der Anwender davon aber weitgehend verschont, ein neuer Drucker ist unter SuSE Linux flott eingerichtet.
  • 10 Laserdrucker im Test
    Schnell, gestochen scharf und billig sollen Ausdrucke sein - Attribute, die insbesondere Laserdruckern zugeschrieben werden. Zum perfekten Ausdruck gehört aber mehr, vom Drucksystem bis hin zum Filter muss alles optimal zusammenspielen.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...