Geräteabhängigkeiten

PostScript ist prinzipiell eine geräteunabhängige Sprache. Wenn es jedoch um das Ausdrucken auf einem konkreten Drucker geht, spielen immer geräteabhängige Features eine Rolle: Mit welcher Auflösung kann er arbeiten? Welche Finishing-Optionen stehen zur Verfügung? Welche Fonts sind druckerintern vorhanden?

Wie wir gesehen haben, war es bislang unter Linux ausgesprochen schwierig, gerätespezifische Funktionen auszureizen. Denn selbst wenn ein Ghostscript-Filter entsprechende Kommandozeilen-Parameter zur Verfügung stellt, sind diese meist zu unbekannt und in der Anwendung zu sperrig. Folglich werden selbst bei Druckern, deren integrierte Endverarbeitung mit Duplex- und Heftklammer-Einheit den Ausstoß fertig gebundener Hefte ermöglicht, von Linux aus in erster Linie einseitige "Lose-Blatt-Sammlungen" produziert.

Auch in der MacOS- oder Windows-Welt gibt es keinen gemeinsamen, verbindlichen Standard für die Definition gerätespezifischer Verarbeitungsoptionen. Obwohl seit PostScript Level 2 sogar ein "offizieller" Befehl für den Duplex-Druck existiert, muss kein Hersteller garantieren, dass sein Gerät diesen Befehl akzeptiert.

Trotzdem funktioniert "bei der Konkurrenz" der PostScript-Druck "mit allen Schikanen" bereits seit über zehn Jahren. Das Mittel zum Zweck ist genial einfach: eine modellgebundene PPD-Datei ("PostScript Printer Description") im ASCII-Format beinhaltet alle gerätespezifischen Features mitsamt der zugehörigen Code-Sequenz, die zum Drucker geschickt werden muss, um die entsprechende Funktion abzurufen.

Der PostScript-Treiber liest die möglichen Optionen aus der PPD aus und bietet sie dem Nutzer im Druckdialog-Fenster zur Auswahl an. Der Basis-PostScript-Treiber des Betriebssystems lässt sich für jeden installierten Drucker mit der entsprechenden PPD "aufrüsten" und bietet dann die erweiterten Drucker-Features. Ist eine Auswahl getroffen, werden diese Job-Optionen als gerätespezifische Befehle in das geräteunabhängige PostScript eingefügt und abgeschickt. Ansonsten gelten für jeden Punkt bestimmte Default-Werte.

Mit CUPS ("Common UNIX Printing System") erschließt sich diese Möglichkeit auch unter Linux. Der Administrator kann eine originale Hersteller-PPD, die mit dem Windows-Druckertreiber mitgeliefert wird, auf einen mit CUPS ausgestatteten Linux-Rechner kopieren.

Staunend stellen dann selbst langjährige Linuxianer fest, dass damit die Welt des Druckens vollständig im Zugriff ihrer grafischen Benutzeroberfläche liegt. Bedienoptionen verstecken sich nun nicht mehr unbemerkt in einer Manpage, sondern sind per Mausklick erreichbar. Der Zugang über die Kommandozeile bleibt dabei immer noch möglich, allerdings erheblich umfassender und zugleich einfacher als bisher.

CUPS wäre jedoch nur die Hälfte wert, wenn es sich auf PostScript-Drucker und deren Hersteller-PPDs beschränken würde. Der clevere Kunstgriff der CUPS-Entwickler ist folgender: Sie benutzen die neuerworbene Kenntnis der PPD-Syntax, um damit Beschreibungsdateien auch für Nicht-PostScript-Drucker zu erstellen.

Filter für CUPS

Auch CUPS verwendet für sein internes Software-RIP eine Code-Basis, die auf Ghostscript beruht. Allerdings haben die Entwickler an vielen 'wüsten' Stellen den ursprünglichen Ghostscript-Code modularisiert, gesäubert und aufgeräumt. Zudem verwendet CUPS einige wenige Filter mit "sprechenden" Namen, um den gesamten Funktionsreichtum von Ghostscript plus APS- bzw. Magicfilter nachzubilden und sogar zu übertreffen, bei gleichzeitig einfacherer Bedienung.

CUPS führt zur Erleichterung der Weiterverarbeitung ein eigenes, offengelegtes "CUPS-Raster"-Format ein. Als gemeinsames Ausgangsformat für die Erstellung des gerätespezifischen Rasterdatenstroms spielt es eine ähnliche Rolle wie die PDL als Bindeglied zwischen Applikationen und Druckern. CUPS-Raster wird von den Filtern pstoraster oder imagetoraster erzeugt und daraus das druckerspezifische Raster generiert.

Die CUPS-Filter-Architektur wurde von Anfang an modular gestaltet, mit dem Ziel, Dritte (auch kommerzielle Entwickler oder Druckerhersteller) auf einfache Weise ihre eigenen Filter ins CUPS-Framework einklinken zu lassen. Dies wird von Gimp-Print (siehe Kasten 1) bereits seit Längerem genutzt. Als einer der ersten Hersteller verwertet die Firma ZEDOnet diese Möglichkeit seit kurzem für ihr Produkt TurboPrint (siehe Seite 47). Mit Hilfe von Foomatic und CUPS-O-Matic [6] lassen sich auch existierende Ghostscript-Filter unverändert in CUPS einbinden.

Abbildung 3: Die Filterstruktur von CUPS

Abbildung 3 gibt eine Übersicht über die Architektur der CUPS-Filter. Rote Schrift auf gelbem Hintergrund zeigt die möglichen Eingabe-Formate für Druckdateien. Mit hellblauem Hintergrund sind die verschiedenen CUPS-Filter gekennzeichnet. Wenn keine "Filterung" sondern nur eine Datenübergabe stattfindet, ist der Hintergrund weiß. Raw Data sind bereits druckfertig und dürfen nicht mehr gefiltert werden. Ein Beispiel sind Druckdaten, die auf einem Windows-Client mit einem nativen Treiber erstellt und anschließend via Samba an CUPS zum Druck geschickt wurden. Dasselbe gilt für Bilder, die aus dem Print-Plugin des Gimp in Druck gegeben werden.

Wer sich das Diagramm genauer anschaut, stellt fest, dass an zentraler Stelle ein Filter namens pstops tätig ist, der offensichtlich nichts anderes tut, als PostScript nach PostScript zu wandeln. An dieser Stelle werden zwecks Accounting die Seiten gezählt, die CUPS verarbeitet. Außerdem sorgt pstops dafür, dass tatsächlich nur die Seiten der Datei zum Drucker geschickt werden, die im Auftrag stehen (beispielsweise 5-9, 11, 15, 22-25). Wenn mehrere Seiten auf ein Blatt gedruckt werden sollen, nimmt sich pstops auch dieser Aufgabe an.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...