Home / LinuxUser / 2005 / 12 / Konvertieren mit Pstoedit

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Verwandlungskünstler

Konvertieren mit Pstoedit

01.12.2005 Postscript-Dateien sind keine Einbahnstraße: Mit Pstoedit konvertieren Sie Postscript- und PDF-Dateien in andere Bildformate, aber auch in Flash-Dateien oder Java-Applets.

Versucht man den Namen des hier vorgestellten Tools Pstoedit [1] ohne Vorkenntnisse zu buchstabieren, bricht man sich die Zunge. Eingeweihte wissen, dass ps für Postscript steht, to im Englischen "zu" bedeutet und edit so viel wie bearbeiten heißt. Nomen est omen: Das kleine Kommandozeilen-Tool wandelt Postscript- und PDF-Dateien in ein editierbares Format um. Hartgesottene wenden jetzt ein, Sie hätten Postscript-Code auch schon ohne Konvertierung editiert – wer das aber bereits absolviert hat, weiß, dass das Ganze nicht sonderlich komfortabel ist.

Installation

Suse 9.3 bringt zwar die vorkompilierte Version 3.33 von Pstoedit mit, für die aktuelle Version 3.42 müssen Sie jedoch zum Kompiler greifen. Da die Änderungen zwischen den Versionen zahlreich sind, scheuen Sie besser nicht den Umweg über den Quellcode [3]. Neben gcc benötigen einige der von Pstoedit unterstützten Ausgabeformate zusätzliche Programme.

Für die Konvertierung von Postscript nach EMF ist die Bibliothek LibEMF [4] notwendig. Unter Suse 9.3 installieren Sie zusätzlich das Paket libEMF-devel, das Sie über Yast oder die RPM-Suchmaschine Pbone [5] finden. Nutzer von Debian Sarge kompilieren die LibEMF selbst. Treten beim Kompilieren Probleme auf, wechseln Sie in das entpackte Unterverzeichnis /libemf, in dem die Dateien libemf.cpp und libemf.h liegen. Spielen Sie über patch < libEMF-1.0.fixes-2002-09-30.diff den auf der LibEMF-Download-Seite erhältlichen Patch [6] ein.

Auf Wunsch bringen Sie Pstoedit zusätzlich mit Graphicsmagick 1.1.6 [7] – einer Weiterentwicklung des bekannten Imagemagick – und mit Ming [8] in Einklang (siehe Kasten "Ming und Graphicmagicks installieren"). Der erste Fall erlaubt das Konvertieren von Postscript in alle durch Graphicsmagick unterstützten Bildformate. Mit Hilfe von Ming generieren Sie aus Postscript-Dateien Flash-Bilder im SWF-Format – allerdings bedarf es dazu der Ming-Bibliothek in der CVS-Version.

Ming und Graphicmagicks installieren

Installieren Sie zunächst via Yast cvs und loggen sich dann über

cvs -d:pserver:anonymous@cvs.↩
sourceforge.net:/cvsroot/ming login

in das Ming-CVS ein. Drücken Sie [Eingabe] bei der Passwortabfrage. Nutzen Sie cvs zum ersten Mal, wiederholen Sie nach der Fehlermeldung die Prozedur. Anschließend geben Sie

cvs -z3 -d:pserver:anonym↩
ous@cvs.sourceforge.net:/cvsro↩
ot/ming co ming

ein. Im aktuellen Verzeichnis entsteht ein Unterverzeichnis mit den neuesten Ming-Dateien. Um nun Ming zu kompilieren, benötigen Sie unter Suse 9.3 neben gcc und gcc-c++ auch giflib-devel, libpng-devel, bison,libjpeg-devel sowie flex. Debian-Benutzer brauchen für ein problemloses Kompilieren die Pakete giflib-bin, libungif4-dev, giflib3g, bison, flex, swig und libpng2-dev. Die Installation erfolgt mittels ./configure && make && make install.

Graphicsmagick besorgen Sie sich in der Version 1.1.6, als Debian-Nutzer benötigen Sie zum Kompilieren zusätzlich die libperl-dev aus dem Etch-Repository. Nun folgt der selbe Dreischritt wie beim Kompilieren von Ming. Vergessen Sie anschließend auch nicht, die plotutils zu installieren, um später auch deren Ausgabeformate [9] verwenden zu können.

Vor der eigentlichen Installation von Pstoedit, laden Sie die entsprechenden Quellen herunter [4]. Nach dem Entpacken des Archivs editieren Sie die darin enthaltene Datei configure und ändern die Zeile:

SPECIAL_CXXFLAGS="-DBUGGYGPP↩
 -pedantic -Wall -Wwrite-strin↩
gs -Wcast-qual -Wpointer-arith "

in

SPECIAL_CXXFLAGS="-DBUGGYGPP↩
 -Wall -Wwrite-strings -Wcast↩
-qual -Wpointer-arith "

Bei aktivierter pedantic-Option weigert sich der Kompiler, Pstoedit mit der Graphicsmagick-Erweiterung zu kompilieren. Nun folgt noch einmal der bekannte, wenn auch leicht ergänzte, Dreischritt aus ./configure --with-libemf-include=/usr/include/libEMF && make && su -c "make install", wobei Sie unter Debian zuvor prüfen sollten, ob der Ordner libEMF tatsächlich unter /usr/include liegt. Mitunter sucht Pstoedit beim Start vergebens die Bibliotheken, geben Sie im Root-Modus ldconfig ein, um die Verknüpfungen zu aktualisieren. Pstoedit selbst finden Sie unter /usr/local/bin auf der Festplatte.

Der Tiger ist los

Ein alter Bekannter aus Artikeln, die etwas mit Postscript zu tun haben, ist der in Abbildung 1 dargestellte Tiger. Die folgenden Beispiel-Konvertierungen nehmen Sie direkt im Verzeichnis /usr/share/ghostscript/8.15/examples/ vor, in dem das Tiger-Bild liegt. Unter Suse 9.3 gibt es den Tiger nicht mehr als reine Postscript-Datei, sondern im EPS-Format – unter Debian müssen Sie eine andere Beispieldatei wählen.

Abbildung 1: Das Bild finden Sie unter Suse 9.3 als /usr/share/ghostscript/8.15/examples/tiger.eps, Debian-Nutzer müssen ein anderes Beispiel wählen.

Das ist kein Problem für Pstoedit. Da das Tool auf Ghostscript basiert, verträgt es als Eingabeformate sowohl PS, EPS als auch PDF. Die Anzahl der verfügbaren Ausgabeformate richtet sich danach, auf welche Module Pstoedit zugreifen kann. Prinzipiell konvertiert das Programm mittels

pstoedit EINGABEDATEI AUS↩
GABEDATEI

Beispielsweise erzeugt unter Suse 9.3 ein pstoedit tiger.eps tiger.emf eine EMF-Version des Tigers. Diese wird dann – wie Abbildung 2 illustriert – in OpenOffice importiert und dort bearbeitet.

Abbildung 2: Zähne gezogen … EPS-Dateien kann man mit OpenOffice nicht verändern, die durch Pstoedit erzeugte EMF-Datei schon.

Im Normalfall erkennt Pstoedit anhand des Dateinamens der Ausgabedatei das zu verwendende Modul. Die Eingabe von pstoedit tiger.eps tiger.fig scheitert allerdings aufgrund zu vieler Alternativen. Statt eines Tigers im Hausformat von Xfig erhalten Sie eine Liste aller vorhandenen Module inklusive der Dateiformate, die sie erzeugen. Den in Abbildung 3 dargestellten Tiger im Xfig-Format erhält man via

pstoedit -f plot-fig↩
 tiger.eps tiger.fig

Der Parameter -f hilft Pstoedit bei der korrekten Modulauswahl.

Abbildung 3: Xfig ist einer der Klassiker vektororientierter Editoren unter Unix und Linux. Mit Pstoedit verwandelt man PS, EPS oder PDF-Dateien in FIG-Dateien.

Mit dem reinen Konvertieren gelangt Pstoedit noch nicht an das Ende seiner Fähigkeiten. Eine Vielzahl von Parametern verändern beim Konvertieren gleich noch das Ausgangsbild ein wenig – mit pstoedit --help erhalten Sie eine vollständige Liste. Mit der Option -xscale .5 halbieren Sie die Breite des Bildes, mit -yscale 2 verdoppeln Sie dessen Höhe. Postscript-Dateien bestehen oft aus mehreren Seiten: Der Parameter -split zerlegt diese in Einzelseiten. Auch die einzelnen Module bieten noch einige Optionen: Verwendet man zum Erzeugen von Xfig-Bildern nicht das Modul plot-fig sondern fig, stellt der Parameter -metric die verwendete Maßeinheit auf Zentimeter (Standard sind Inches) um.

Interessanterweise generieren Sie mit Pstoedit aus Postscript-Dateien auch Programme. Ein pstoedit tiger.eps tiger.tk erzeugt das in Abbildung 4 dargestellte Tk-Applet, das Sie einfach durch sh tiger.tk starten. Wer keine Skriptsprachen mag, sollte die Module java1 und java2 etwas genauer betrachten – mit ihnen wird Java-Code erzeugt. Alternativ wählen Sie als Ausgabedatei tiger.swf und erhalten ein Flash-Bild (Abbildung 5).

Abbildung 4: Der Tiger als Tk-Programm. Pstoedit wandelt Postscript nicht nur in andere Bildformate, sondern sogar in Tk-Applets um.

Abbildung 5: Direkt aus der druckeroptimierten Postscript-Datei ins Internet: Pstoedit wandelt auch Dateien im EPS-Format in Flash-Bilder um.

Die Zusammenarbeit mit der Graphicsmagick-Erweiterung funktioniert noch nicht fehlerfrei. So interpretiert das Modul den Tiger als Datei mit zwei Seiten. Um daraus dennoch ein Pixelbild (z.B. im JPG-Format) zu machen, verwenden Sie pstoedit -f magick tiger.eps tiger%d.jpg. Die sich daraufhin öffnenden Fenster schließen Sie getrost und erhalten zwei Dateien tiger1.jpg und tiger2.jpg. Die erste Datei zeigt die Miezekatze, die zwei bleibt leer.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

2137 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...