Kostenstellen in den Druckertreiber integrieren

Hallo, kurze Frage: Gibt es die Möglichkeit, in der lokalen PPD-Datei für den Drucker die jeweilige Kostenstelle des aktuell aktiven Nutzers zu hinterlegen? Alternativ wäre es interessant, wenn bei jedem Druckvorgang ein Fenster aufgehen würde, in das man seine Kostenstelle eintragen kann. Diese muss dann an den Drucker gesendet werden, die Abrechnung macht dann der Drucker selbst. Wenn sowas nicht geht, dann bleibt mir noch die Alternative, einen Druckserver aufzusetzen und dann über CUPS abzurechnen (das ist mir klar, wie's geht), aber lieber wärs mir direkt über den Drucker, das wäre für mich am wenigsten Arbeit. Drucksystem ist auf allen Clients CUPS direkt auf Netzwerkport 991 drucken mit jeweils lokal hinterlegter PPD-Datei. Ach ja: überall Suse 10.2 :-) Ich denke mal, dass folgender Abschnitt in der PPD dafür verantwortlich sein könnte: *% ==== Device Capabilities =============== *LanguageLevel: "3" *Protocols: TBCP *FreeVM: "2157000" *ColorDevice: True *DefaultColorSpace: CMYK *TTRasterizer: Type42 *?TTRasterizer: "save 42 /FontType resourcestatus {pop pop (Type42)} {(No Type42)} ifelse = flush restore" *End *% Optional flash rom is treated like a disk. *FileSystem: True *?FileSystem: "save statusdict /diskonline get exec {(True)}{(False)} ifelse = flush restore" *End *Throughput: "25" *Password: "()" *ExitServer: " count 0 eq {false} {true exch startjob} ifelse not { (WARNING: Cannot modify initial VM.) = (Missing or invalid password.) = (Please contact the author of this software.) = flush quit } if" *End *Reset: " count 0 eq {false} {true exch startjob} ifelse not { (WARNING: Cannot reset printer.) = (Missing or invalid password.) = (Please contact the author of this software.) = flush quit } if systemdict /quit get exec (WARNING : Printer Reset Failed.) = flush" *End -- Michael Herrmann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo, On Mar 11 14:16 Michael Herrmann wrote (shortened):
Gibt es die Möglichkeit, in der lokalen PPD-Datei für den Drucker die jeweilige Kostenstelle des aktuell aktiven Nutzers zu hinterlegen?
Wozu muß es genau die Kostenstelle sein? Genügt nicht der Benutzername z.B. in /var/log/cups/page_log für Accounting? Man muß dann eben später das Benutzerbasierte Accounting auf deren jeweilige Kostenstellen umrechnen. Da die lokale PPD-Datei unter /etc/cups/ppd/<queue>.ppd fest ist, der jeweils aktuell aktive Nutzer hingegen nicht, geht das nicht. Es sei denn, pro Workstation gibt es immer nur denselben Nutzer und pro Workstation gibt es eine lokale PPD-Datei. Dann würde ich in der PPD Datei mit JCL Optionen arbeiten. Insbesondere was bei JCLToPSInterpreter definiert ist, sollte immer an einen PostScript Drucker geschickt werden, etwa: *JCLBegin: "" *JCLToPSInterpreter: "% Kostenstelle 1234 <0A>" *JCLEnd: "" Damit kommt folgendes PostScript raus: % Kostenstelle 1234 %!PS-Adobe-3.0 ... D.h. der Kostenstelle Kommentar ist noch vor dem PostScript Header was evtl. störend ist. Bei einem nicht-PostScript Drucker macht der Druckertreiber (Ghostscript + Treiber) sowieso alle PostScript Kommentare zunichte.
Alternativ wäre es interessant, wenn bei jedem Druckvorgang ein Fenster aufgehen würde, in das man seine Kostenstelle eintragen kann.
CUPS kann kein Fenster auf dem Benutzerdesktop aufmachen, da das Drucksystem keinen Zugriff auf den Benutzerdesktop hat. Alternativ kann man evtl. einen zusätzlichen Filter basteln: http://en.opensuse.org/SDB:Using_Your_Own_Filters_to_Print_with_CUPS Gruß Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex
participants (2)
-
Johannes Meixner
-
Michael Herrmann