![](https://seccdn.libravatar.org/avatar/ba6138f793e72be6644854fdc3ec2f02.jpg?s=120&d=mm&r=g)
Hallo, On Oct 27 09:06 Bernhard Bühler wrote (shortened):
Der Druckjob wird aus der Applikation als Kommandozeile gestartet zB: Pipe nach lpr -P drucker pipe an Vorschau pipe an weitere Ausgabe
Problematisch! Wie soll "pipe an Vorschau" funktionieren können? Hintergrund: Man mache sich klar, wie ein Drucksystem (CUPS und auch LPRng/lpdfilter) arbeitet, zu CUPS siehe http://portal.suse.com/sdb/de/2004/05/jsmeix_print-cups-in-a-nutshell.html und http://portal.suse.com/sdb/de/2003/05/jsmeix_print-cups-filters.html lpr oder lp erzeugen einen Druckauftrag und übergeben den an das Drucksystem. Auf stdout kommt dabei nicht der Druckauftrag raus, sondern die (Fehler)-Meldungen von lpr oder lp. Daher kann "pipe an Vorschau" nicht funktionieren. Der Druckauftrag im Drucksystem wird vom Benutzer "lp" verarbeitet. Dieser Benutzer hat normalerweise keinen Zugriff auf die graphische Oberfläche des Benutzers, der den Druckauftrag gestartet hat. Daher kann "Vorschau" nicht ohne weiteres funktionieren (*). Der einzige allgemein funktionierende Ansatzpunkt, der mir einfällt, ist die CUPS Filterkette vor "pstops" um einen zusätzlichen Filter zu erweitern, der dann als Eingabe PostScript bekommt und das dann "irgendwie" - siehe (*) - bei dem Benutzer, der den Druckauftrag gestartet hat, darstellt und je nachdem wie das Darstellungsprogramm (z.B. gv) beendet wurde, entweder das PostScript auf stdout an den Rest der CUPS Filterkette ausgibt, oder abbricht. Bzw. der wenn es nicht möglich ist, die Vorschau bei dem Benutzer, der den Druckauftrag gestartet hat, darzustellen (z.B. weil kein Zugriff auf dessen X-Display möglich ist), das PostScript auf stdout an den Rest der CUPS Filterkette ausgibt (Fallback auf die normale Verarbeitung ohne Vorschau, wenn Vorschau nicht möglich). Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/