Terms-LogoTerms97801 Version 1.2 Online Handbuch

Inhalt Index Voriges Kapitel Vorige Seite Nächste Seite Nächstes Kapitel Kapitel: 1 2 3 4 5 6 7 8 9 10 11 Anhang


7.6 Drucken auf dem lokalen PC

7.6.1 ASCII-Dateien drucken

Die Syntax für Drucken mit Terms97801 lautet:

<ESC>FP<Jobname>;<Druckerdaten><ESC>\

Die Druckerdaten werden, so wie sie sind, an den Drucker weitergegeben. Die Druckerdaten müssen also auf der UNIX-Seite für den Drucker des PC aufbereitet werden.

Im Dialog System.. Filetransfer kann der Drucker für den UNIX-Druck ausgewählt werden. Ist das Kästchen 'Drucker immer erfragen' angekreuzt, erscheint vor dem Ausdruck der Standard-Dialog zur Auswahl eines Druckers. Hier muß dann der Drucker eingestellt werden, für den die UNIX-Seite den Druck aufbereitet hat. Soll die UNIX-Seite die Druckaufbereitung von der Auswahl abhängig gemacht werden, so kann dies aus einem Shell-Skript heraus mit der Sequenz <ESC>XP erreicht werden. (Siehe auch: 7.6.4 Windows Ein- und Ausgabe-Dialoge für UNIX)

Im Normalfall sollte der Schalter 'Druck-Manager' eingestellt werden.

Zusätzlich muß in der Windows-Systemsteuerung das Kästchen 'Verwende Druck-Manager' angekreuzt sein. Der Jobname wird als Name des Druckauftrags im Windows-Spooler angezeigt.

Bei Windows95 wurden die Aufrufparameter für die Übergabe an den Druck-Manager verdreht. Terms97801 testet die Windows-Version und ruft die Funktion entsprechend auf. Sollte in einer neuen Windows95-Version dieser Bug behoben sein, kann das Verdrehen der Aufrufparameter mit folgendem Ini-Eintrag abgeschaltet werden:

[File]
SpoolBug=N

Die Alternative 'Terms-Spooler' umgeht den Druck-Manager und dient dazu, Probleme mit dem Druck-Manager von Windows 3.1 und Windows95 zu umgehen.

Im Lieferumfang befindet sich das Skript tfp (terms file print) zum Ausdruck von ASCII-Dateien. Die Option 'Erweitere LF mit CR' ist auch beim ASCII-Druck wirksam.

7.6.2 Binäre Dateien drucken

Für binäre Druckdaten, z.B. Rasterdaten, oder bei der Übertragung von 8bit-Daten über eine 7bit-Leitung, z.B. Umlaute, wird derselbe Mechanismus mit uuencode wie bei der binären Dateiübertragung verwendet. Die Syntax lautet dann:

<ESC>FC<Jobname>;<Druckerdaten uuencoded><ESC>\

Im Lieferumfang befinden sich die Skripte tfpb (terms file print binary) und hitbin.s (Ausdruck von binären Druckdaten auf dem PC durch die UNIX-Textverarbeitung HIT).

7.6.3 Druck mehrerer Kopien

Die Escape-Sequenz zum Drucken einer Datei von UNIX auf dem PC-Drucker wurde erweitert. Die Escape-Sequenzen für den Druck

<Esc>F<copies>P<Jobname>;<Druckerdaten><ESC>\
<Esc>F<copies>C<Jobname>;<Druckerdaten><ESC>\

können durch den Parameter <copies> mit der Anzahl gewünschter Kopien versehen werden. Die übertragene Druckdatei wird auf der PC-Platte entsprechend oft aneinandergehängt und dann an den Druckmanager übergeben.

Beispiel für drei 'Durchschläge':

echo '\033F3PDreifach-Druck;'
cat /tmp/printfile
echo '\033\\'

7.6.4 Beispiel: HIT-Ausdruck

Als Beispiel aus der Praxis soll hier der HIT-Ausdruck vorgestellt werden.

Dem Filter-Programm muß der Drucker angegeben werden, der sich auf der Windows-Seite befindet.

Statt auf den UNIX-Drucker wird die Ausgabe 'umrahmt' von den Terms97801-Escape-Sequenzen auf stdout gegeben.

#!/bin/sh
#========================================================
#%prhplj
# Script fuer HP-Drucker an PC mit Terms97801
# fuer Hit 4.0, 4.1, 5.0
#========================================================
trap '' 1 2 3 15
unset LANG
stty -a >/dev/null 2>&1
echo "\033F${4}CHit-Dokument: $5;"
filter -d prhplj -P hplj -p -S $2 -n $5 -r $3 $1 \
2>&1 | uuencode xx
erg=$?
echo '\033\\\c'
if [ "$3" = "j" ]
then
rm -f $1
fi
exit $erg

Der trap-Befehl bewirkt, daß das Skript nicht während des Druckens abgebrochen wird, auch wenn HIT vorher beendet wird.

Der unset LANG ist nötig, damit das eingedeutschte uuencode im internationalen Modus arbeitet.

Der stty-Befehl stellt die Zuordnung des tty der im Hintergrund arbeitenden Druckaufbereitung zu Terms97801 sicher.

Die echo-und filter-Befehle sind das eigentliche Druckprogramm mit der Terms97801-Escape-Sequenz. Mit ${4} wird die Anzahl der Durchschläge angegeben.

Das Beispiel kann um vorherige Abfrage des Windows-Druckers bei dem/r Benutzer/in (siehe 7.7.5) oder beim System (siehe 7.8) erweitert werden.


Terms-LogoTerms97801 Version 1.2 Online Handbuch

Inhalt Index Voriges Kapitel Vorige Seite Nächste Seite Nächstes Kapitel Kapitel: 1 2 3 4 5 6 7 8 9 10 11 Anhang