GNU a2ps ist ein Tool, um aus einfachen ASCII-Vorlagen (eigentlich "anything 2 postscript") Postscript-Output zu generieren.

Homepage: http://www.inf.enst.fr/~demaille/a2ps

Lizenz: GPL

Beispiel aus der Praxis

Ich habe damit viele Papierausdrucke, die normalerweise auf einem Lineprinter gedruckt wurden, nach postscript gewandelt, um dann per EMail-Anhang zu verschicken. Quelle ist eine Anwendung auf einem UNISYS Server. Deshalb war es auch nötig ein neues encoding bauen, welches die EBCDIC Kodierung umwandelt. Um ein neues encoding verwenden zu können muss dieses in der Datei "encoding.map" (normalerweise unter /usr/share/a2ps/) angemeldet werden:

# Unisys (EBCDIC)
unisys                  unisys

Das encoding selber sieht so aus:

Name: UNISYS

Documentation
bla bla
EndDocumentation


# If there is an unknown font requested, use Courier
Default: Courier

# Automatic spell checking :)
Substitute:     Times                   Times-Roman
Substitute:     Helvetica-Italic        Helvetica-Oblique
Substitute:     Helvetica-BoldItalic    Helvetica-BoldOblique

Vector:
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
space exclam quotedbl numbersign dollar percent ampersand quoteright
parenleft parenright asterisk plus comma minus period slash
zero one two three four five six seven
eight nine colon semicolon less equal greater question
at A B C D E F G
H I J K L M N O
P Q R S T U V W
X Y Z Adieresis Odieresis Udieresis asciicircum underscore
quoteleft a b c d e f g
h i j k l m n o
p q r s t u v w
x y z adieresis odieresis udieresis germandbls .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
space exclamdown cent sterling currency yen brokenbar section
dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron
degree plusminus twosuperior threesuperior acute mu paragraph bullet
cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown
Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla
Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis
Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply
Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls
agrave aacute acircumflex atilde adieresis aring ae ccedilla
egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis
eth ntilde ograve oacute ocircumflex otilde odieresis divide
oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis

Im Wesentlichen sind hier die Umlaute "äöüÄÖÜ" und die Sonderzeichen "{[]}\|" ersetzt.

Zum eigentlichen Ausdruck kommt dann unter LPRng ein input-Filter zum Einsatz:

 tr --delete '\032\00'|
 a2ps -q --encoding=unisys -l 132 -R -c -B --rows=1 --columns=1 --borders=no --prologue=drako_list
 --margin=10 --statusdict=setpapertray:1 -o - |
 recode lat1..ibmpc |
 lpr -Pbuchfs3800
 >> ./log 2>&1

Die prologue-Datei macht in diesem Fall abwechselnd eine graue und eine neutrale Linie ~ eben eine typisches lineprinter Design.

Ein Nachteil gegenüber enscript ist, dass das Verhältnis zwischen Zeichenhöhe zur Zeichenbreite nicht variable ist; A4 "seitenfüllende" Ausdrucke sind kaum zu realieren. Dafür läßt sich mit den prologue-Dateien Einiges formatieren.


Fragen


Siehe auch enscript.

a2ps (zuletzt geändert am 2007-12-23 22:46:14 durch localhost)