Frequently Asked Questions - Drucken im URZ

Das ist eine lose Sammlung von Fragen und Antworten zum Drucken.

Q: Wie druckt man eine Datei ?
A: Unter UNIX mit Kommando print (s. print -h), dvips, gv, netscape-print, acroread, ...
    in Win/NT durch Verbinden eines Druckers: hierbei immer Problem Druckertyp !
    (im URZ auf öffentlichen Druckern wird z.Zt. nur Postscript-Druck unterstützt)

Q: Welchen Weg nimmt mein Druckjob im URZ ?
A: Kommando print --> lokale Spool-Queue (BSD: /var/spool/printers/<queuename> SysV:/var/spool/lp/tmp/<hostname>) --> pspooler.hrz:/var/spool/printers/<queuename> --> Aufruf Interface-Programm (Accounting) --> Drucker per Ethernet (Interface-Programm)

Q: Welche Kommandos gibt es ?
A:

Das Kommando print ist eine spezielle URZ-Implementation.
print -Pqueue Druckkommando
lpq -Pqueue Anzeige aller Jobs in einer Druckerqueue
/usr/sbin/lpc status  Statusübersicht BSD (Linux)
lpstat -t Status aller Druckerqueues (nur HP/Solaris)
lpstat -pqueue Status einer Druckerqueue
lprm -Pqueue    job_nr Druckjob abbrechen (Linux)
cancel queue-jobnr Druckjob abbrechen (Solaris)

Q: Wie prüfe ich die Druckbarkeit eines Files ?
A: 1. gv filename ; 2. pgcnt filename  (liefert Anzahl der Seiten: bei 0 nichtdruckbar !)

Q: Was ist ein Printserver ?
A: Der Begriff Printserver wird für verschiedene Zwecke benutzt. Einerseits bezeichnet der einen Rechner, der das Management der Druckausgaben realisiert (im URZ der Rechner pspooler.hrz.tu-chemnitz.de). Andererseits wird der begriff i.allg. für das Netzinterface eines Druckers verwendet, entweder als Netzkarte oder als kleines Kästchen, das das Netzinterface auf die Parallelschnittstelle des Druckers umsetzt. Unterschied zur Netzkarte ist, daß über die Prinserver keine Druckereigenschaften abfragbar sind (z.B. Seitenzähler).

Q: Wie werden Druckereigenschaften in Druckersprachen abgebildet ?
A: am Beispiel HP Laserjet (raffael)

Druckersprachen: Postscript, PCL, ... PJL (Printer Job Language)
Steueranweisungen in Postscript (Beispiele): Sprache im ASCII-Format. Formatbeschreibung in Pixel als x/y-Koordinaten ab linker unterer Ecke:
%!    %% Beginnerkennung for Postscriptdokument
%% Kommentare: siehe ein Beispiel (Creator, Title, CreateDate, ...)
<</PageSize [842 1191] /ImagingBBox null>> setpagedevice    %% A3
<</PageSize [595 842] /ImagingBBox null>> setpagedevice    %% A4
<</Duplex true /Tumble false>> setpagedevice    %% doppelseitig
<</ManualFeed false /MediaPosition 1>> setpagedevice    %% Eingabefach 1
<</Staple 0 /OutputType (TOP OUTPUT BIN)>> setpagedevice    %% oben
showpage    %% Anstoßen der Ausgabe einer Seite
%%Page: 1  1   %%Seitenkommentare

Steueranweisungen in PJL (Beispiele):

^[%-12345X@PJL JOB    %% PJL Begin
@PJL SET RESOLUTION = 600    %% 600 dpi -- Problem pgcnt !
@PJL ENTER LANGUAGE = POSTSCRIPT    %% Sprachauswahl
@PJL SET COPIES = 5    %% Kopien einstellen
^[%-12345X@PJL EOJ    %%PJL Ende
Q: Wie stelle ich einen Druckerdriver im NT ein ?
A: möglichst alle druckerspezifischen Angaben auf Standard oder automatische Auswahl !
Wichtig ist Auswahl raffael_a3 (bzw. analoge Queue) bei Angabe Seitengröße A3 !

Q: Was kann ich tun, wenn ein File mit gv o.k. ist aber nicht gedruckt wird ?
A: bestimmte Postscriptformate sind auf den Druckern nicht ausgebbar:

(%%[ Error: undefined; Offending Command: ...)

Es gibt in der ghostscript-Version ab 5.50 ein Kommando ps2ps, das relativ zuverlässig solche Files, die sich mit gv ansehen lassen in eine druckbare Form verwandeln:
ps2ps    inputfile    outputfile

Vor allem bei Ausgaben in StarOffice treten diese Probleme verstärkt auf und sind durch Abspeichern in eine Datei und Umwandlung mit ps2ps lösbar.

Q: Warum bricht mein Druckauftrag auf manchen Druckern mittendrin ab ?
A: Das kann natürlich viele Ursachen haben. In letzter Zeit gibt es häufig Fälle, bei denen im Text das Zeichen ^D (Control-D) enthalten ist. Dieses Zeichen kann man mit einem Editor einfach löschen und dann den Druck nochmal probieren. Unempfindlich gegen dieses Zeichen ist z.B. klee

Q: Wie kann ich Kopien drucken ohne Separatorseite
A: Drucker erzeugen ihre Kopien seitenweise. Das sollte man sich zuerst überlegen. Daher wurde im print-Kommando die n-Option (für Kopien) so realisiert, daß die Jobs sequentiell zu den Druckern übertragen werden. Unter Solaris und Linux-RH52 unterstützt das print-Kommando eine Option -N, mit der versucht wird, dem Drucker die Anweisung zum Erzeugen von Kopien mitzuteilen. Die macht aber i.allg. nur Sinn beim Druck einzelner Seiten.



Matthias Ehrig; Februar 1999
letzte Änderung: Juli 2000