Ghostwriter
Zu Befehl: gs & psutils
Wieso, weshalb, warum?
Mit dem Acrobat Reader, KGhostView, GNOME-GhostView und gv als grafischen Schnittstellen zu Ghostscript kommen zahlreiche GUIs zum PostScript-Betrachten, -Umwandeln oder -Drucken. Wer aber Vorgänge (etwa in Shell-Skripts) automatisieren will, kann auch direkt auf das eigentliche Ghostscript-Programm gs zugreifen.
gs kann mit oder ohne Angabe einer PostScript- oder PDF-Datei auf der Kommandozeile gestartet werden. Neben einem Anzeigefenster sehen Sie als Output im Terminal-Fenster etwas wie:
huhn@huhnix:~> gs apfelkuchen.ps ESP Ghostscript 7.05 (2003-02-05) […] Loading NimbusRomNo9L-Regu font from /usr/share/ghostscript/fonts/n021003l.pfb… 2052880 687555 1642520 342518 0 done. […] >>showpage, press <return> to continue<<
Drücken Sie an dieser Stelle [Return] oder starten Sie gs ohne Angabe eines Dateinamens, um die Eingabeaufforderung GS> zu erhalten. Den Interpreter verlassen Sie mit quit am Prompt oder [Strg-C]. Hilfe gibt es mit gs -h oder gs -? – neben einer Übersicht über einige Treiber und Ghostscript-Switches sehen Sie hier auch die Versionsnummer. (Für GNU Ghostscript ist zum Zeitpunkt dieses Artikels Version 7.05.6 aktuell; es gibt einen weiteren Zweig, der unter einer restriktiveren Lizenz steht, die im Wesentlichen aber nur die kommerzielle Distribution verbietet: Die aktuelle "AFPL-Ghostscript-Version" ist 8.10.)
Um einen bestimmten Treiber (Device) zu benutzen, hängen Sie diesen als Parameter an den gs-Aufruf an, z. B. -sDEVICE=epson datei.ps, falls Sie die Datei an einen Epson-Drucker schicken möchten, oder -sDEVICE=x11 datei.ps für die Ausgabe am Bildschirm. Alternativ starten Sie gs und geben am Prompt ein:
huhn@huhnix:~> gs […] GS> (x11) selectdevice GS> (apfelkuchen.ps) run
Soll nicht direkt gedruckt werden, hilft die Option -sOutputFile weiter: gs ist in der Lage, aus PostScript-Dateien Bilddateien zu erstellen. In der Treiberliste finden Sie beispielsweise jpg als eine mögliche Option. Der Aufruf
huhn@huhnix:~> gs -sDEVICE=jpeg -sOutputFile=apfel.jpg apfelkuchen.ps
wandelt das PostScript-Dokument apfelkuchen.ps in eine JPEG-Datei namens apfel.jpg um.
Wer nicht fragt, bleibt dumm…
Im Paket psutils finden Sie viele einzelne Programme, die bei der Bearbeitung und Umformatierung von PostScript-Dateien helfen. Mit dem Programm psnup können Sie beispielsweise mehrere Dokumentseiten auf eine einzige packen:
huhn@huhnix:~> psnup -2 datei.ps 2seitig_datei.ps [1] [2] [3] [4] [5] Wrote 5 pages, 464732 bytes
Als zusätzliche Option darf die Papiergröße angegeben werden – entweder in Form fester Werte mit -wBreite und -hHöhe (wobei das Programm Zentimeter oder Punkt als Maßeinheiten versteht), oder Sie geben zusammen mit dem Parameter -p eines der gängigen Formate wie a3, a4, a5 usw. an.
Das Tool psresize verändert – wie der Name vermuten lässt – das Papierformat. Liegt eine Datei im amerikanischen Format letter vor, hilft
psresize -Pletter -pA4 datei.ps neue_datei.ps
weiter. psselect extrahiert bestimmte Seiten: über die Option -e zum Beispiel alle Seiten mit gerader Seitennummer, über -o die mit ungeraden Seitennummer. Das ist hilfreich, um Papier beidseitig zu bedrucken: In einem Laser-Drucker lässt man zunächst alle geraden Seiten ausdrucken, legt den Papierstapen neu ein und druckt dann alle ungeraden aus. In der Form -p1,2,3,4 können Sie auch eine durch Kommata getrennte Liste der gewünschten Seiten angeben; dabei können auch ganze Bereiche abgedeckt werden, zum Beispiel mit
psselect -p1-5,7-9 datei.ps neue_datei.ps
Um nur schnell in eine PostScript-Datei hineinzusehen, müssen die aufwendigen Anweisungen nicht entschlüsselt werden – mit ps2ascii erhalten Sie den reinen Text des Dokuments (Abbildung 2). Mit pstotext gibt es ein weiteres Tool, das die gleiche Aufgabe übernimmt, dabei aber bessere Ergebnisse bringt. Während ps2ascii Teil des Ghostscript-Pakets ist, finden Sie pstotext unter [5].
Glossar
.dvi-Datei
LaTeX legt nach dem eigentlichen Programmaufruf ("latex datei.tex") verschiedene Dateien im Verzeichnis ab, mit denen dann weitergearbeitet wird. Dazu gehört auch eine Datei, die auf ".dvi" (device independent) endet. Es ist eine geräteunabhängige Ausgabedatei, die sich mit Hilfe eines Treibers für die Ausgabe auf dem Bildschirm oder dem Drucker umwandeln lässt.
Infos
[1] Ghostscript: http://www.cs.wisc.edu/~ghost/
[2] PSUtils: http://www.go.dlr.de:8081/pdinfo_dv/psutils.html
[3] PostScript Tutorial von Holger Gehringer: http://www.mathematik.uni-ulm.de/help/pstut/
[4] Kurt Pfeifle: "Verschlungene Pfade, der lange Weg der Druckdaten", LinuxUser 10/2001, S. 38, http://www.linux-user.de/ausgabe/2001/10/038-drucken/drucken-kp1.html
[5] pstotext: http://www.research.compaq.com/SRC/virtualpaper/pstotext.html
[6] Heike Jurzik: LaTeX-Workshop I, "Gutenberg am Rechner", LinuxUser 09/2002, S. 43, http://www.linux-user.de/ausgabe/2002/09/043-latex/index.html
[7] Heike Jurzik und Patricia Jung: "Des PostScripts neue Kleider", LinuxUser 10/2001, S. 60, http://www.linux-user.de/ausgabe/2001/10/060-zubefehl/a2ps-3.html
[8] Heike Jurzik: "It's a kind of magic!", LinuxUser 07/2002, S. 84, http://www.linux-user.de/ausgabe/2002/07/084-zubefehl/convert.html



