Inhalt

10. Ghostscript

Ghostscript, das von

http://www.cs.wisc.edu/~ghost/

bezogen werden kann, ist ein unglaublich wichtiges Programm, um unter Linux zu drucken. Die meisten Programme unter Unix generiert PostScript und nur wenige, meistens teurere Drucker unterstützen PostScript direkt. Ghostscript allerdings ist frei und übersetzt die PostScriptbefehle in die Drucksprache des verwendeten Druckers. Wenn Ghostscript in Verbindung mit einem lpd-Eingabefilter verwendet wird, erhält man einen virtuellen PostScript-Drucker und das erleichtert das Leben enorm.

Ghostscript gibt es in zwei Ausführungen. Die kommerzielle Version von Ghostscript, Aladdin Ghostscript, darf zwar frei verwendet, aber nicht mit kommerziellen Linux-Distributionen verbreitet werden. Die kommerzielle Version ist dem freien Ghostscript normalerweise um ungefähr ein Jahr voraus; im Moment unterstützt es beispielsweise bereits das Portable Document Format (PDF) des Adobe Acrobat, während die älteren Ghostscripts dies nicht tun.

Die freie Version von Ghostscript ist GNU Ghostscript. Die GNU-Version ist einfach eine ältere Version von Aladdin Ghostscript, die freundlicherweise GNU überlassen wurde. Ein großes Lob hierfür an Aladdin für diese Regelung; mehr Softwarehersteller sollten freie Software so unterstützen.

Was Sie auch immer mit gs anfangen, vergewissern Sie sich unbedingt, es mit der Option für ausgeschaltete Dateizugriffe (-dSAFER) zu starten. PostScript ist eine voll funktionale Sprache und erlaubt z.B. das Ausführen von externen Programmen, was zu echten Sicherheitsproblemen führen kann, da z.B. der lpd ja als root läuft.

Was PDF angeht, so ist Adobes Portable Document Format in Wirklichkeit wenig mehr als organisiertes PostScript in einer gepackten Datei. Ghostscript kommt mit PDF genausogut klar wie mit PostScript. Daher könnten Sie in Ihrer Gegend der erste mit einem PDF-fähigen Drucker sein.

10.1 Aufruf von Ghostscript

Normalerweise wird Ghostscript von dem Magic-Filter aufgerufen, den Sie verwenden; allerdings ist es zur Fehlersuche oft nützlich, Ghostscript direkt aufzurufen.

gs -help gibt eine kurze, informative Übersicht über die Optionen und verfügbaren Treiber aus. Hierbei sollte man beachten, daß nur die Treiber angezeigt sind, die in gs einkompiliert worden sind. Falls der gewünschte Drucker nicht angezeigt wird, könnte es sich also lohnen, gs selbst zu kompilieren.

Sie können gs für Testzwecke folgendermaßen aufrufen:

gs optionen -q -dSAFER -sOutputFile=/dev/lp1 test.ps

10.2 Feineinstellung der Ausgabe

Es gibt eine Reihe von Dingen, die man machen kann, wenn die Ausgabe von gs nicht zufriedenstellend ist. Tatsächlich können Sie alles machen, was Ihnen Spaß macht, da Ihnen der Quelltext zur Verfügung steht.

Position und Größe

Die Position, die Größe und das Seitenverhältnis des Bildes auf einer Seite wird vom spezifischen Druckertreiber in Ghostscript kontrolliert. Wenn Sie feststellen, daß Ihre Seiten gestaucht oder gestreckt ausgegeben werden oder um einen Faktor 2 zu groß sind, sollten Sie vielleicht in das Quelltext-Modul Ihres Treibers schauen und all die Parameter einstellen, die Ihnen auffallen. Unglücklicherweise ist jeder Treiber anders, so daß sich schlecht pauschal sagen läßt, was wie eingestellt werden muß. Aber die meisten Treiber sind ausreichend gut kommentiert.

Gamma, Punktgröße usw.

Die meisten Nicht-Laserdrucker leiden unter der Tatsache, daß ihre Punkte recht groß sind, so daß sich die einzelnen Punkte teilweise überdecken. Dies führt dazu, daß Bilder zu dunkel ausgegeben werden. Wenn Sie dieses Problem haben, sollten Sie Ihre eigene Korrekturfunktion verwenden. Erstellen Sie einfach die folgende Datei im Ghostscript lib-Verzeichnis und fügen Sie ihren Namen dem gs-Aufruf genau vor der eigentlichen zu druckenden Datei hinzu. Eventuell müssen die tatsächlichen Werte der Datei an den verwendeten Drucker angepaßt werden. Niedrigere Werte führen zu einem helleren Ausdruck. Besonders, wenn der benutzte Treiber den Floyd-Steinberg Algorithmus verwendet, um Farben zu rastern, sind kleine Werte (0.20-0.15) wahrscheinlich eine gute Wahl.

---8<---- gamma.ps ----8<---
%!
%transfer functions for cyan magenta yellow black
{0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
---8<------------------8<---

Es ist durch Veränderung dieser Werte auch möglich, Drucker zu korrigieren, die irgendeine Art von Farbfehler besitzen. Wenn Sie so etwas tun, ist es empfehlenswert, die Datei colorcir.ps zu benutzen, die Ghostscript im examples-Verzeichnis als Testseite beiliegt.


Inhalt