Workshops / Hintergrundberichte / Buchvorstellungen
---------------------------------------------------
1. Workshop: AFPL Ghostscript 6.50 - Teil 3 (von Uwe Pannecke)
Crash-Kurs durch die Ghostscript-Untiefen
1. Dokumentenschau
Bleiben wir zu Beginn unseres dritten Teils noch ein wenig bei der Anzeige
von Postscript- und PDF-Dokumenten.
1.1 DOpus - des geisterhaften Interpreters Freund
Bisher haben wir uns vorrangig über die Shell mit Ghostscript verständigt.
Das wird auch im Wesentlichen für den grundsätzlichen Einstieg in den
Umgang mit dem Programm so bleiben. Doch sollen im alltäglichen Einsatz PS-
und PDF-Dateien möglichst schnell und aufwandsarm auf dem Bildschirm
gezaubert werden, bietet sich die Einbindung des Interpreters in
Dateimanager wie etwa Directory Opus an.
Nachfolgend ein Beispiel für die DOpus-Konfiguration zur Anzeige von PS-
Dateien. Sinngemäß könnt ihr die Ausführungen selbstverständlich ebenso auf
die Anzeige von PDF-Dokumenten übertragen. Startet also DOpus und wählt im
Menü den Abschnitt "Einstellungen" und dort den Unterpunkt "Dateitypen...".
Screenshot:
In selbigem definieren wir nun einen passenden Dateityp "Postscript", der
DOpus in die Lage versetzten wird, bei Doppelklick auf eine PS-Datei
automatisch Ghostscript mit der Anzeige der Datei zu beauftragen. Also
klickt auf den Button "Add".
Sogleich öffnen sich zwei Fenster. Wir wenden uns dem Dateityp-Fenster zu,
erkennbar an der oberen Zeile mit den Einträgen "Namen", "ID" und "PRI". In
das Feld hinter "Name" tragt ihr eine aussagekräftige Bezeichnung, unter
der der Dateityp aufgelistet werden soll, ein. Angemessen ist sicherlich
"Postscript". Hinter "ID" tippt ihr "PS" ein und "Pri" bleibt auf der
Vorgabe "0". Wichtig ist nun, DOpus mitzuteilen, woran der Dateimanager
erkennen soll, dass es sich um eine Postscript-Datei handelt. Wählt mit
einem Klick auf das Schubladen-Symbol den Eintrag "Match Name" aus und fügt
in der Zeile die charakteristische Dateiendung mit dem Eintrag "#?.ps"
hinzu. Ein Klick auf "Use" schließt die Definition ab.
Screenshot:
Übrig bleibt nun noch das Ereignis-Fenster, in dem ihr festlegt, was DOpus
bei einer bestimmten Aktion mit der angewählten Datei machen soll. Wir
haken "Doubleclick" ab und wählen anschließend den Button "Edit". Im sich
daraufhin öffnenden Fenster veranlassen wir in zwei Zeilen die Anlage eines
ausreichenden Stapelspeichers für den Interpreter und übergeben Ghostscript
mit "{f}" die später im Dateilister ausgewählte Datei. Zusätzlich haken wir
die Option "Output to window" ab und veranlassen so Ghostscript, das
Anzeige-Fenster so lange offen zu lassen, bis wir es explizit schließen.
Screenshot:
Mit drei letzten Mausklicks auf "Use", noch einmal "Use" und "Save" ist die
Konfiguration abgeschlossen.
1.2 Zeig mir deine Schokoladenseiten
Zwischenzeitlich werden die Ghostscript-Freunde unter euch vielleicht schon
diverse PDF-Dokumente betrachtet oder auch gedruckt haben. Nicht immer
möchte man den kompletten Umfang des Dokuments nutzen. Sollen von solch
einer Datei nur bestimmte Seiten angezeigt oder zu Papier gebracht werden,
kann Ghostscript selbstverständlich die entsprechende Auswahl vornehmen.
Die passenden Aufrufoptionen sind in diesem Fall
"-dFirstPage=AnfangsSeitennummer" und "-dLastPage=EndSeitennummer".
Wie ihr sicher schon während ersten Experimenten bei der Ghostscript-
Nutzung bemerkt habt, besteht das Programm Amiga-unüblich (dafür aber
Unix/Linux-typisch) auf eine peinlich genaue Beachtung der Groß- und
Kleinschreibung in der Syntax.
2. Eine Bildershow mit Ghostscript
Ghostscript kann nicht nur mit PS- und PDF-Dokumenten umgehen. Ebenso ist
der Interpreter in der Lage, Bilder im GIF-, JPEG-, PBM-, PCX- und CMYK-
Format direkt ohne vorherige Konvertierung auf dem Bildschirm auszugeben.
In solchen Fällen bedient sich der Interpreter der im Ghostscript-eigenen
"Libs"-Verzeichnis abgelegten Hilfsprogramme "viewgif.ps", "viewjpeg.ps",
"viewpbm.ps", "viewjpeg.ps", "viewpcx.ps" und "viewcmyk.ps".
Die entsprechende Syntax der Befehle werden wir uns mit der Anzeige eines
JPEG-Bilds verdeutlichen. Sinngemäß sind die restlichen unterstützten
Formate zu handhaben. Wir begeben uns also wieder in die Shell, beamen uns
mittels "cd Ghostscript:" in das Interpreter-Verzeichnis und setzen mit
"stack 200000" den Stapelspeicher auf eine ausreichende Höhe. Anschließend
starten wir Ghostscript und übergeben dem Programm dabei mit "gs
viewjpeg.ps" eine PS-Hilfsdatei, die den Interpreter in die Lage versetzt,
das entsprechende Bildformat anzuzeigen.
Die eigentliche Bildschirmpräsentation erfolgt im interaktiven Dialog mit
dem Interpreter durch den Aufruf "(Bildname.jpg) viewJPEG".
Screenshot:
Analog könnt ihr mit allen unterstützen Bildformaten verfahren, beachtet
dabei wieder wie gehabt die korrekte Groß- und Kleinschreibung, also
beispielsweise "(Bildname.gif) viewGIF".
3. Konvertieren, bis der Prozessor glüht
Eine weitere interessante Seite des Postscript-Interpreters ist seine
Fähigkeit, bestimmte Dateiformate ineinander umwandeln zu können.
Nachfolgend einige Möglichkeiten zur Anregung für eigene Experimente:
3.1 Adobe Illustrator
Wer seine PS-Dateien in das Grafikformat "AI" des Adobe Illustrator
umwandeln möchte, bedient sich des Hilfsprogramms "ps2ai.ps", zu finden
wiederum im "libs"-Verzeichnis.
Wir wollen im Zusammenspiel von "ps2ai.ps" und Ghostscript den allseits
bekannten Tiger aus der "Examples"-Schublade in eine Adobe Illustrator-
Datei transformieren. Da die Kommandofolge
"gs ps2ai.ps zu_konvertierende_Datei.ps" lediglich das
Konvertierungsergebnis in der Shell ausgeben würde, leiten wir mit
">RAM:neue_Datei.ai" die Ausgabe in die Datei "neue_Datei.ai" in der RAM-
Disk um. Selbstverständlich kann für die Ausgabeumleitung anstelle der RAM-
Disk auch ein beliebiges Verzeichnis auf der/den Amiga-Festplatte(n)
benutzt werden.
Für unser konkretes Beispiel lautet so der komplette Aufruf
"gs >RAM:Tiger.ai ps2ai.ps examples/tiger.ps".
Screenshot:
Mehr oder weniger kurze Zeit nach ihrem Postscript-Absprung ist die
Großkatze als AI-Tiger gelandet, zumindest fast: Da AFPL Ghostscript in den
ersten vier Zeilen der AI-Dateien Hinweise zu sich selbst und den
verwendeten Fonts ohne Voranstellung der Kommentareinleitung "%%"
vermerkte, mussten diese Zeilen in einem Texteditor entweder zuvor entfernt
oder der Anfang jeder Zeile mit "%%" versehen werden, bevor Adobe
Illustrator die AI-Datei als solche akzeptierte.
3.2 In der Destille
Hier soll es nicht um hochprozentige, mehr oder wenig gut schmeckende
Flüssigkeiten gehen, vielmehr versetzen wir den Interpreter in die Lage,
Postscript-Dateien in das PDF-Format zu wandeln. Und hier kommt auch gleich
ein großer Vorteil der aktuellen Version 6.50 gegenüber der alten 5.10 zum
tragen: Fonts können als solche in einem zu erstellenden PDF-Dokument
eingebettet werden.
Ghostscript 5.10 und auch andere PDF-erstellende Programme auf dem Amiga
wandeln diese Fonts zumeist in Bitmaps um. Dies bläht die erstellte PDF-
Datei erheblich auf und sorgt außerdem für eine sehr bescheidene
Schriftqualität. Ghostscript 6.50 kann diese Klippe bei der Umwandlung der
meisten Postscript-Dateien elegant umschiffen.
Wieder soll ein Beispiel die Vorgehensweise demonstrieren: In der RAM-Disk
liegt die Postscript-Datei "shell.ps", über das Device "pdfwrite" wird
diese nach PDF gewandelt und als "shell.pdf" erneut in der RAM-Disk
abgelegt.
Screenshot:
Da Ghostscript bei der interaktiven Bearbeitung nach jeder konvertierten
Seite auf eine Bestätigung für die Bearbeitung der nachfolgenden Seite
wartet, könnt ihr bei umfangreichen Dokumenten den Interpreter mit dem
Kommando "-dNOPAUSE" überreden, alle Seiten in einem Rutsch zu bearbeiten.
Soll sich Ghostscript nach getaner Arbeit selbständig beenden, hilft der
Schalter "-dBATCH".
3.3 Von PDF nach Postscript
Was zumeist mit sehr brauchbaren Ergebnissen von PS nach PDF funktioniert,
gelingt ebenso in der Konvertierung von PDF nach Postscript. Die
Vorgehensweise entspricht der der PS-nach-PDF-Konvertierung, nur dass
diesmal das Device "pswrite" zum Zuge kommt. Aus einem 18seitigen Folien-
Satz zur Knoppix-CD [2] sollen in unserem Fall lediglich die Seiten 17 und
18 ins Postscript-Format umgesetzt werden, deshalb erzwingt der Schalter
"-dFirstpage=17" die Ignorierung der ersten 16 Seiten.
Screenshot:
Die in den PDF-Dokumenten eventuell vorhandenen interaktiven Links könnt
ihr in dem erstellen PS-Dokument, obwohl abgebildet, prinzipbedingt
natürlich nicht mehr nutzen. Dafür steht einem "Durch"-Blättern des
Dokuments nichts im Wege.
4. Und tschüs
So, jetzt habt ihr genug Material, um intensiv mit Ghostscript spielen und
die Zeit bis zum nächsten Teil überbrücken zu können. :)
Wenn alles wie geplant verläuft, schauen wir uns dann das Extrahieren von
Inhaltsbestandteilen, wie Textpassagen und Bilder, aus PDF-Dateien und das
Drucken der PS- und PDF-Dokumente ein wenig näher an.
[1] im Aminet unter /gfx/conv/GS650-xxx.lha
[2] http://www.knopper.net
Uwe Pannecke <Uwe.Pannecke@t-online.de>
|