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 (siehe auch: Windows Ein- und Ausgabe-Dialoge für UNIX) erreicht werden.
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.
ANMERKUNG:
Mit der 32bit-Windows-Plattform wurde ein neues Druckermodell eingeführt,
bei dem Daten im EMF-Format (Enhanced meta file) an die Druckertreiber
übergeben werden. Falls der Ausdruck über Terms97801 nicht
funktioniert, sollte der verwendete Druckertreiber als RAW definiert werden
und im Dialog Drucker..Eigenschaften..Druckprozessor das Kästchen
'RAW-Datentyp immer spoolen' angekreuzt sein.
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).
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\\'
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 oder beim System erweitert werden.