claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2004   »   Ausgabe bestellen

PostScript-Tools in der Shell und unter KDE

Ordentlich Druck machen

von Heike Jurzik


Die PS-Utilities helfen bei der Nachbearbeitung von PostScript-Dateien. Ob als Filter in KDEs Druckdialog oder auf der Kommandozeile bringen sie Ihre Dateien in Form.

Die PSUtils sind eine Sammlung von kleinen Programmen zur Manipulation von PostScript-Dateien. Enthalten sind Befehle, die u. a. mehrere Seiten auf eine packen, das Papierformat verändern oder einzelne Seiten extrahieren. Als Filter im KDE-Druckdialog passen die PSUtils den Ausdruck von Dokumenten nach Ihren Wünschen an.

Bei den von EasyLinux unterstützten Distributionen sind die PSUtils standardmäßig nicht installiert, aber auf den Installationsmedien als RPM-Paket vorhanden. Spielen Sie das Paket gegebenenfalls über den jeweiligen Paket-Manager Ihrer Distribution ein.

Wir zeigen, wie Sie mit den PSUtils auf der Kommandozeile schnell und sicher PostScript-Dateien bearbeiten, welche Aufgaben die einzelnen Programme im Druckdialog übernehmen und wie Sie den KDE-Druckdialog mit den neu gewonnenen Erkenntnissen gezielter einsetzen.

Sprache der Drucker: PostScript

PostScript ist eine plattform- und geräteunabhängige Seitenbeschreibungssprache. Sie legt das Layout von Dokumenten unabhängig vom Ausgabemedium fest, so dass man PostScript-Dateien -- unabhängig von irgendwelchen Druckertreibern -- auf jedem beliebigen PostScript-Gerät ausgeben kann. Dazu gehören nicht nur Drucker, sondern auch Dateibetrachter wie Ghostview und KGhostView und sogar professionelle Druckmaschinen in der Druckerei. PostScript-Dateien tragen die Endung .ps.

Unter KDE erstellen Sie PostScript-Dateien ganz einfach mit dem KDE-Druckdialog, den viele KDE-Anwendungen, z. B. Konqueror und KOffice, standardmäßig anzeigen, wenn Sie im Menü Datei / Drucken aufrufen (Abbildung 1).

Abb. 1: KDE macht Druck -- der Standard-Druckdialog.

  1. Wählen Sie unter Name, ob Sie direkt ausdrucken oder die Ausgabe in eine Datei umleiten wollen. Als Formate sind hier PDF und PostScript möglich.
  2. Im Feld Ausgabedatei wählen Sie den Namen der Datei -- standardmäßig schlägt das System im Home-Verzeichnis den Namen print.ps oder entsprechend print.pdf vor.
  3. Hinter dem Knopf Eigenschaften verbergen sich weitere Konfigurationsmöglichkeiten, z. B. stellen Sie hier das Druckformat (hoch oder quer, Papierformat, Farbe oder Graustufen, Seiten pro Blatt) und die Ränder ein.
  4. Hinter der dritten Registerkarte verstecken sich Filter, mit denen Sie die Druckausgabe weiter individuell gestalten können.

Abb. 2: Welches Format darf's denn sein?

Viele dieser Filter setzen direkt auf den PSUtils auf und funktionieren nur, wenn diese Tools auch installiert sind. Welche Programme im PSUtils-Paket enthalten sind und wie Sie diese auf der Kommandozeile bedienen, beschreiben wir in den folgenden Abschnitten.

Papier sparen mit psnup

Das Programm psnup fasst mehrere Seiten zusammen und hilft so, Papier zu sparen. Um beispielsweise in einem PostScript-Dokument jeweils zwei Seiten auf einer unterzubringen, geben Sie

huhn> psnup -2 easy.ps easy2.ps
[1] [2] Wrote 2 pages, 791656 bytes

ein. psnup erwartet also zunächst die Angabe, wie viele Seiten es auf einer zusammenfassen soll, danach folgt der Name der Originaldatei und als letztes der Name des neuen Dokumentes. psnup verrät außerdem auf der Konsole, wie viele neue Seiten auf diese Weise erstellt wurden. Um diese Informationsausgabe zu unterdrücken, geben Sie den zusätzlichen Parameter -q an. (Diese Option unterdrückt übrigens auch für alle anderen Programme aus dem PSUtils-Paket die Ausgabe auf der Konsole.)

Zur Kontrolle können Sie die neue Datei beispielsweise in KGhostView betrachten. Sie sehen, dass psnup jeweils zwei auf DIN A5 verkleinerte Seiten auf einer DIN-A4-Seite untergebracht hat (Abbildung 3).

Abb. 3: Aus vier mach zwei -- "psnup" hat jeweils zwei Seiten zu einer zusammengefasst.

Wer die Seitenzahl noch weiter schrumpfen lassen möchte, kann vier (psnup -4) oder acht (psnup -8) Seiten auf einer unterbringen. Ungewöhnlicher sind drei oder sechs Seiten, aber auch das ist möglich (-3, -6). Übersichtlicher wird das Ergebnis, wenn Sie um die Einzelseiten einen Rahmen zeichnen (Abbildung 4). Das geht mit dem Parameter -d.

huhn> psnup -4 -d easy.ps easy4.ps
[1] Wrote 1 pages, 791644 bytes

Abb. 4: Gut gerahmt mit Psnup.

Neues Format mit psresize

Mit dem Tool psresize ändern Sie das Papierformat einer PostScript-Datei. Als Größenangabe erwartet der Befehl entweder ein bekanntes Format wie A4 oder A5 oder gezielte Angaben zu Breite und Länge. Um ein DIN-A4-Dokument auf DIN A5 schrumpfen zu lassen, tippen Sie:

psresize -Pa4 -pa5 easy.ps easy5.ps

Abb. 5: Von DIN A4 nach A5: "psresize" kann's.

psresize kennt jede Menge Ausgabeformate: Neben den bekannten Papiergrößen DIN A0, A1, A2, A3, A4 und A5 beherrscht das Programm auch amerikanische Maße wie "letter" (21,6 × 27,9 cm²), "tabloid" (27,9 × 43,2 cm²) und "legal" (21,6 × 35,6 cm²). Es eignet sich also hervorragend zum Anpassen von Dokumenten, die in diesen internationalen Formaten vorliegen. Dazu nutzt man wieder die beiden Parameter -P und -p:

psresize -Pletter -pa4 datei_us.ps datei_de.ps

Alternativ zu einem festen Papierformat akzeptiert psresize genaue Angaben zu Höhe und Breite in Zentimetern oder Inches (Zoll). Dabei stehen -w für die Breite (englisch "width") und -h für die Höhe (englisch "height") der neuen Datei:

 
psresize -w6.0cm -h5.0cm tiger.ps tiger-new.ps

Abbildung 6 zeigt den Original-Tiger (rechts) und daneben die mit psresize bearbeitete Version: Die neue Breite wurde größer als die Höhe gewählt. psresize erkennt das und merkt außerdem, dass es das Bild größer rendern kann, wenn es zunächst gedreht wird. Wählen Sie stattdessen eine Höhe von beispielsweise 20 cm (psresize -w6.0cm -h20.0cm tiger.ps tiger-tall.ps), nimmt psresize die Breite als begrenzenden Faktor und rendert den Hintergrund über die ganze Seite (Abbildung 7).

Abb. 6: "psresize" erkennt: Erst drehen, dann rendern.

Abb. 7: Großer Hintergrund (20 cm), aber korrekt gerenderter Tiger.

Gut gewählt mit psselect

Der Name verrät es: psselect selektiert, d. h., es löst einzelne Seiten aus PostScript-Dokumenten heraus. Dabei entscheiden Sie, ob beispielsweise alle Seiten mit geraden oder ungeraden Seitenzahlen oder nur einzelne Seiten ausgewählt werden. Alle geraden Seiten erwischen Sie mit:

psselect -e easy.ps easy_gerade.ps

Der Parameter -e leitet sich vom englischen "even" (gerade) ab -- entsprechend erwischen Sie alle ungeraden Seiten mit der Option -o (englisch "odd", ungerade). Um einzelne Seiten zu wählen, setzen Sie die Option -p ein: Der Parameter erwartet zusätzlich die Angabe der Seiten. Sie können entweder eine Liste von Seitennummern durch Kommata getrennt angeben oder einen ganzen Bereich spezifizieren. Für die Seiten 1-3 und 5 tippen Sie also:

huhn> psselect -p1-3,5 datei.ps datei_select.ps
[1] [2] [3] [5] Wrote 4 pages, 802162 bytes

Praktisch: psselect besitzt eine Option, mit der Sie die Seiten in umgekehrter Reihenfolge ausgeben:

huhn> psselect -r easy.ps easy_p.ps
[4] [3] [2] [1] Wrote 4 pages, 802162 bytes

Ins Buchformat mit psbook

psbook ordnet Seiten zum Drucken von Büchern oder Booklets neu an und erstellt damit so genannte "Signaturen". Am einfachsten können Sie sich das vor Augen führen, wenn Sie vier DIN-A4-Seiten übereinander legen und in der Mitte falten, also zu einem DIN-A5-Booklet zusammenlegen. Nummerieren Sie die Seiten von 1 bis 16 durch. Danach nehmen Sie die Blätter wieder auseinander. Das erste A4-Blatt hat jetzt beispielsweise auf der Vorderseite (im Querformat) links eine 16 und links eine 1; auf der Rückseite steht links die 2 und rechts die 15. Entsprechend werden die PostScript-Seiten in der Reihenfolge 16, 1, 2, 15, ... angeordnet.

Um nun eine DIN-A4-PostScript-Datei für den Ausdruck als A5-Booklet vorzubereiten, verwenden Sie zunächst psbook, um die Seiten im neuen Dokument richtig anzuordnen. Ist die Anzahl der Seiten des Ausgangsdokument kein Vielfaches von 4, fügt

psbook an richtiger Stelle bis zu drei leere Seiten ein. Anschließend bringen Sie mit psnup jeweils zwei Seiten auf eine:

huhn> psbook text.ps text_buch.ps
[*] [1] [2] [7] [6] [3] [4] [5] Wrote 8 pages, 1611716 bytes
huhn> psnup -2 -d text_buch.ps text_buch_a5.ps
[1] [2] [3] [4] Wrote 4 pages, 1616546 bytes

KGhostView zeigt: Die Kombination dieser Befehle ordnet die Seiten richtig an (Abbildung 8).

Abb. 8: Fertiges A5-Booklet -- "psbook" und "psnup" im Team.

PSUtils im KDE-Druckdialog

Viele PostScript-Tools arbeiten als Filter im KDE-Druckdialog. psnup, verantwortlich für das Zusammenfassen mehrerer Seiten, ist beispielsweise im Dialog für den Ausdruck mehrerer Seiten auf einem Blatt zuständig. Das Verhalten aus dem zweiten psnup-Beispiel (vier Seiten auf einer zusammenfassen und einen Rahmen um die Einzelseiten zeichnen) erreichen Sie mit wenigen Mausklicks im Druckdialog:

  1. Klicken Sie in einer KDE-Anwendung auf Datei / Drucken. Dadurch öffnet sich der Druckdialog.
  2. Falls dies nicht bereits eingestellt ist, wählen Sie als Druckerwarteschlange den Eintrag In Datei drucken (PostScript) aus.
  3. Wählen Sie einen Namen für die PostScript-Datei.
  4. Klicken Sie auf Eigenschaften und stellen Sie auf dem Reiter Druckformat vier Seiten pro Blatt ein.
  5. Auf der Registerkarte Filter ist bereits Ausdruck mehrerer Seiten auf einem Blatt ausgewählt. Doppelklicken Sie auf den Filter, um weitere Optionen einzustellen.
  6. Wählen Sie bei Box width: als Wert beispielsweise 2, um einen Rahmen der Stärke 2 pt um die Einzelseiten zu ziehen.
  7. Klicken Sie zweimal auf OK und dann auf Drucken.

Während psnup automatisch als Filter gewählt wird, wenn Sie unter Druckformat vier Seiten pro Blatt einstellen, ist die Verwendung von psbook nicht ganz so offensichtlich, aber ebenso komfortabel zu erreichen:

  1. Klicken Sie in einer KDE-Anwendung auf Datei / Drucken und geben Sie einen Namen für die PostScript-Datei ein.
  2. Klicken Sie wieder auf Eigenschaften und gehen Sie direkt zur Registerkarte Filter.
  3. Klicken Sie auf das Trichtersymbol, um einen neuen Filter aus der Liste hinzuzufügen.
  4. Wählen Sie einen Befehl aus -- für psbook heißt der Eintrag Booklet-Druck (mit schmalseitigem Duplexdruck verwendbar).
  5. Als Erklärung sehen Sie in der Dialogbox schon, um welches Kommando es geht: (ID = psbook, Ausgabe = application/postscript). Klicken Sie auf den kleinen Schraubenschlüssel, um den dahinter verborgenen Befehl genauer unter die Lupe zu nehmen.
  6. Im Feld Voraussetzungen sehen Sie, dass zwei Befehle (psbook und psnup) zum Einsatz kommen. Sie können den genauen Programmanruf anschauen, indem Sie ein Kommando mit der Maus einmal anklicken und dann auf den Button Befehl bearbeiten... klicken.
  7. Der psbook-Aufruf lautet
    psbook %filterinput | psnup -2 -p%psl %filterargs %filteroutput
    -- das ist dieselbe Kombination wie im Kommandozeilenaufruf, nur durch ein Pipe-Zeichen (|) miteinander verbunden und nicht als zwei getrennte Befehle.
  8. Klicken Sie insgesamt viermal auf OK und dann auf Drucken -- fertig ist das Booklet.

Fazit

Wer PostScript-Dateien nachträglich bearbeiten will, findet im PSUtils-Paket alles, was das Herz begehrt. Mit wenigen Handgriffen ändern Sie auf der Konsole Größe und Seitenanzahl der Dokumente und erstellen sogar Bücher. Erstellen Sie lieber direkt aus KDE-Anwendungen heraus eine PostScript-Datei mit einem bestimmten Layout, bietet der KDE-Druckdialog alle nötigen PSUtils-Kommandos als Filter. Das nötige Wissen über die Anwendung der Befehle auf der Kommandozeile macht die Konfiguration der Filter zum Kinderspiel. (hge)

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2014 Medialinx AG | Last modified: 2007-01-25 17:18

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]