A2ps & Psutils - Software für PostScript

A2ps & PsUtils

Mit A2ps und den PsUtils arbeiten Sie perfekt mit PostScript-Dateien und organisieren diese

Informationen

PostScript ist einerseits die Sprache der Drucker und andererseits der Vorgänger des PDF-Formates, wie kann man "Sprache der Drucker" verstehen? Eigentlich ist es ganz einfach, egal welche Hardware oder Software ein Drucker nutzt - als Eingabe will jeder Drucker das PostScript-Format - hieraus bezieht der Drucker seine Informationen wie die gedruckte Seite am Papier aussehen soll.

Auch wenn der normale Nutzer von PostScript heute nicht mehr viel mit bekommt - er kann aus diesem Format noch immer viele Vorteile ziehen. In diesem Beitrag werden wir etwas mehr über A2ps und psutils erfahren, A2ps ist eine Software mit der man nun aus allen möglichen Formaten PostScript-(kurz auch PS)Dateien erstellt und die Psutils dienen dazu die Seiten in beinahe jede Form zu bringen, ob dies nun einfache Seiten, mehrere Seiten auf einer oder ganze Bücher sind - damit ist alles möglich.

A2ps

Wie schon beschrieben dient A2ps dazu verschiedene bereits vorhandene Dateien vieler Formate in das PostScript-Format zu konvertieren oder gleich direkt an den Drucker zu senden - hierzu gibt es wie wir bald sehen werden verschiedene Optionen.

A2ps installieren

Unter auf Debian basierenden Distributionen wie natürlich auch Ubuntu, Kubuntu Linux Mint und so weiter installieren Sie die Software ganz einfach über die Paket-Verwaltung durch das Paket "a2ps".

A2ps nutzen

Früher war A2ps dazu da einfache Textdateien in das PostScript-Format zu konvertieren, heute ist es der Software beinahe egal welches Dateiformat man als Eingabe nutzt, einfacher ASCII-Text, Text, Latex, komprimierten Text (etwa von Libre Office, Microsoft Office, Bilder oder was auch immer - die Software akzeptiert fast alles. Wichtig dabei ist es jedoch zu verstehen - wenn es sich um Dateien wie ODF, DOC, DOCX und so weiter handelt erstellt die Software den Code so wie sie ihn bekommt - also mit allen darin enthaltenen zur Beschreibung von Formatierung Zeichen - Quelltext.

Einfach drucken

Nun habe ich hier beispielsweise eine einfache Textdatei mit dem Inhalt:

Linux Bibel online
A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten

Die Datei nennt sich "PostScript.txt", diese möchte ich nun ganz einfach drucken - wichtig - A2ps kommt mit Umlauten nicht klar, eine bestehende einfache Textdatei muss deshalb mit folgendem Befehl auf dem Terminal konvertiert werden:

iconv -f utf8 -t latin1 PostScript.txt > PostScript1.txt

In diesem Fall entsteht die Datei "PostScript1.txt", diese lässt sich nun perfekt drucken. Noch wichtig zu verstehen - die Software druckt standardmäßig zwei Seiten auf auf ein Blatt was dann so aussehen würde:

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Zwei Seiten auf ein Blatt

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Zwei Seiten auf ein Blatt

Kleiner Tipp - um reine Textdateien in ein PostScript zu konvertieren nutzen Sie einfach das Paket "e2ps" und nutzen folgenden Befehl:

e2ps PostScript-txt > PostScript.ps

Bevor es nun zu verwirrend wird wollen wir uns den Befehl einmal ansehen der diese Textdatei an den Drucker sendet und wie oben im Bild ausdruckt:

a2ps PostScript1.txt

Möchte man stattdessen tatsächlich eine Seite auf ein Blatt bringen nutzt man die Option "-1", also:

a2ps -1 PostScript1.txt

was zu diesem Ergebnis führt:

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Eine Seite auf einem Blatt

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Eine Seite auf einem Blatt

Doch darüber werden wir später mehr lesen, der einfache Befehl um eine Datei direkt mit A2ps zu drucken lautet also:

a2ps -Seiten_pro_Blatt dateiname

Dateien in PostScript konvertieren

Möchten wir eine Datei nicht direkt drucken sondern einfach nur in PostScript konvertieren (die originale Datei bleibt natürlich erhalten) nutzt man die Option "-o Ausgabe-Datei", also etwa:

a2ps PostScript.txt -o PostScript.ps

PostScript zu PDF konvertieren

Möchte man nun eine PostScript-Datei in eine PDF-Datei konvertieren installiert man sich unter auf Debian basierenden Systemen ganz einfach über die Paket-Verwaltung das Paket "pod2pdf". Im Beispiel habe ich nun die Datei "PostScript.ps" und möchte diese in eine PDF-Datei konvertieren:

ps2pdf PostScript.ps PostScript.pdf

Mehrere Seiten auf ein Blatt

A2ps besticht darin nicht nur einfach zu drucken sondern auch Platz zu sparen, so ist es oft nicht nötig wirklich eine Seite auf ein Blatt zu speichern / zu drucken, die Software bringt auch problemlos mehrere Seiten auf ein Blatt oder eben eine Seite. Wie sinnvoll dies ist muss man natürlich selbst entscheiden oder einfach probieren. Standardmäßig bringt wie wir nun schon wissen die Software zwei Seiten auf ein Blatt / eine Seite - also:

a2ps Dateiname.txt

Oder:

a2ps Dateiname.txt -o Dateiname.ps

Zum steuern dieser Funktion nutzen wir die Option "-Seiten_Anzahl", also etwa für eine Seite pro Blatt / Seite:

a2ps -1 Dateiname.txt

Oder:

a2ps -1 Dateiname.txt -o Dateiname.ps

Dies funktioniert bis zu neun Seiten pro Blatt / Seite - etwa der Quelltext dieser Seite:

a2ps -9 postscript.txt -o postscript.ps

Oder eben:

a2ps -9 postcript.txt
A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Mehr Seiten auf ein Blatt

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Mehr Seiten auf ein Blatt

Mehrere Dokumente in eine Datei

Auch mehrere Dokumente kann man gleich in eine Datei konvertieren, als Beispiel habe ich drei Dateien namens "text.txt text1.txt text2.txt", hier gibt es nun zwei verschiedene Varianten, standardmäßig setzt A2ps die Dokumente so ein das für jedes einzelne Dokument ein neues Blatt angefangen wird - also:

a2ps text.txt text1.txt text2.txt -o Dateiname.ps

Will man Platz sparen führt lässt die Software nur eine Zeile zwischen zwei Dokumenten aus, dazu nutzt man die Option "--file-align=virtual" - also:

a2ps --file-align=virtual text.txt text1.txt text2.txt -o Dateiname.ps

Syntax-Highlighting mit A2ps

Gerade wenn man Code - egal welcher Art in PostScript konvertieren möchte ist es sinnvoll nicht einfach nur den Text zu erfassen sondern natürlich auch das Syntax-Highlighting welches viel mehr Übersicht bietet, hier kennt die Software so einige Syntax. Welche tatsächlich verfügbar ist zeigt der Befehl:

a2ps --list=style-sheets | less

Mit den Pfeiltasten rauf und runter scrollen Sie, mit der Taste "q" beenden Sie die Ausgabe - hier findet sich beispielsweise auch "HTML":

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Syntax-Highlighting

A2ps und PsUtils unter Linux - Perfekt mit PostScript arbeiten - Syntax-Highlighting

Um dies zu nutzen setzt man die Optionen "--pretty-print=HTML --prologue=color", wieder als kleines Beispiel:

a2ps -1 --pretty-print=HTML --prologue=color postscript.php -o postscript.ps

PsUtils

Wir wissen nun wie man mittels A2ps aus verschiedenen Formaten PostScript-Dateien erstellt, mit den Psutils können wir diese Dateien nun in passende Form bringen und hier können die kleinen Werkzeuge dieser Sammlung alles andere als wenig.

Wie üblich installieren Sie diese kleine Sammlung an Software unter auf Debian basierenden Systemen ganz einfach über die Paket-Verwaltung und zwar durch das Paket "psutils".

PsUtils nutzen

Wie wir schon gehört haben ist Psutils keine einzelne Software sondern besteht aus einer ganzen Sammlung - sie besteht aus folgenden einzelnen Anwendungen epsffit, extractres, fixdlsrps, fixfmps, fixmacps, fixpsditps, fixpspps, fixscribeps, fixtpps, fixwfwps, fixwpps, fixwwps, getafm, includeres, psbook, psmerge, psnup, psresize, psselect, pstops, showchar. Über einige werden wir nun mehr erfahren, über den Rest informieren Sie sich einfach über die jeweilige Manpage durch den Befehl:

man befehl

psbook

Psbook - der Name sagt schon einiges aus - kümmert sich um das Formatieren von PostScript-Dateien zu Büchern.Stellen Sie sich einmal vor Sie wollen ein Buch in DIN A5 erstellen, Sie haben also etwa mittels A2ps die passende PostScript-Datei mit dem Text erstellt, wie viel Text auf einem Blatt liegt ist egal - dies regelt die Software später.

Psbook sieht sich an wie viele Seiten das Buch hat und ordnet diese automatisch passend durchnummeriert in der entstehenden Datei an, als Beispiel habe ich die Datei "text.ps" und möchte die Seiten passend ordnen, daraus soll die Datei "geordnet.ps" erstellt werden in der die Seiten schon passend geordnet sind:

psbook text.ps geordnet.ps

Nun hätten wir schon die einzelnen Seiten auf den Blättern richtig angeordnet, nun möchte ich nur noch kein A4-Buch sondern ein A5-Buch, dazu nutzen wir ganz einfach das kleine Werkzeug Psnup über das wir ebenfalls gleich mehr hören werden:

psnup -2 -d geordnet.ps buch.ps

Wir erhalten zwei Seiten auf einer DIN A4-Seite die wir nur noch aufeinander legen und falten müssen.

psselect

Mittels Psselect schaffen wir es aus unserer PostScript-Datei einzelne Seiten entfernen, also etwa leere Seiten oder einfach nicht benötigte. In allen folgenden Beispielen habe ich eine PostScript-Datei mit zwanzig Seiten, als erstes möchte ich die dritte Seite entfernen, dazu nutzt man die Option "-pSeite", die Datei nennt sich einfach "text.ps", die daraus entstehende Datei "text_neu.ps", das Original bleibt natürlich erhalten:

psselect -p3 text.ps text_neu.ps

Nun möchte ich mehrere Seiten entfernen:

psselect -p3,6,15 text.ps text_neu.ps

Oder auch einige zusammen hängende, etwa die Seiten sieben bis zwölf:

psselect -p7-12 text.ps text_neu.ps

Dies lässt sich natürlich auch kombinieren:

psselect -p3,6,7-15 text.ps text_neu.ps

Nun lassen sich auch ganz schnell alle geraden Seiten-Zahlen entfernen, hierzu nutzen wir einfach die Option "-e":

psselect -e text.ps text_neu.ps

Oder auch alle ungeraden, dazu dient die Option "-o":

psselect -o text.ps text_neu.ps

psnup

Die Software Psnup kann ähnlich wie A2ps mehrere Seiten auf ein Blatt oder einer Seite unterbringen, zusätzlich kann sie jedoch auch die Papier-Größe bestimmen. Ich habe beispielsweise eine PostScript-Datei mit acht Seiten und möchte vier Seiten auf einer haben, die Datei nennt sich einfach "Text.ps", die zu erstellende Datei "Text_neu.ps":

psnup -4 Text.ps Text_neu.ps

Nutzen Sie zusätzlich die Option "-d" legt die Software um jede Seite einen grafischen Rahmen an. Um die Papier-Größe an zu geben nutzt man wiederum die Option "-p DIN", also von "a0" bis "a5":

psnup -d -p a5 -4 Text.ps Text_neu.ps

Was wir in diesem Beispiel erhalten ist ein DIN A5-Blatt mit vier Seiten auf diesem mit Rahmen um jede einzelne Seite.

psresize

Auch bei diesem netten kleinen Werkzeug zeigt der Name schon die Funktion, es ändert die Größe von PostScript-Dateien. Mit Psresize haben Sie zwei verschiedene Möglichkeiten die Größe eines Dokumentes zu ändern, einmal indem Sie die DIN-Größe angeben und einmal indem Sie die tatsächliche Größe in Zentimeter oder Zoll nutzen. Nun gleich einmal mit der DIN-Größe - zu Beginn müssen Sie die ursprüngliche Größe durch die Option "-PaDIN" angeben, anschließend die zu erstellende durch die Option "-paDIN", also etwa:

psresize -Pa3 -pa5 Text.ps Text_neu.ps

Die tatsächliche Größe geben Sie nun durch die Breite "-wXX.X" und durch die Höhe "-hXX.X" an, die ursprüngliche Größe müssen Sie in diesem Fall nicht angeben, also etwa:

psresize -w12.0 -h8.2 Text.ps Text_neu.ps