TOFU: Danke für die Mühe und die ausführliche Antwort. Habe viel dazugelernt. Als DAU steht man vor dem Effekt und findet keine Ansätze, um das Problem aufzubohren. Viele Grüße Bernd Kloss Johannes Meixner <jsmeix@suse.de> schrieb am 22.06.05 08:19:34:
Hallo,
On Jun 21 20:08 Bernd Kloss wrote (shortened):
Ich dachte, wenn ich einen Drucker in YaST installiert habe, dann ist das Systemweit für alle Anwendungen der Standarddrucker.
Alle normalen (d.h. Unix/Linux konformen) Anwendungen solten sich so verhalten.
Stimmt anscheinend nicht.
Leider.
Ich muss wohl für Staroffice 7/ PP 4-2 mit spadmin den Printer installieren.
Ja. Das liegt daran, dass StarOffice (und auch noch teilweise OpenOffice.org) die druckerspezifische Ausgabe selbst machen wollen (ich habe keine Ahnung warum das Design dieser Anwendungen so ist), statt wie es Unix/Linux konform wäre, druckerunabhängiges PostScript zu produzieren und es dem Unix/Linux Drucksystem zu überlassen, das für den jeweiligen Drucker (d.h. via der jeweiligen Filter bzw. Druckertreiber der jeweiligen Warteschlange) in das jeweilige druckerspezifische Format umzuwandeln. Leider produziert StarOffice (und auch OpenOffice.org) kein druckerunabhängiges PostScript (selbst beim "Generic PostScript Printer" nicht), was je nach Einzelfall zu allen möglichen seltsamen Effekten führen kann. StarOffice (und auch OpenOffice.org) haben dazu eigene PPD-Dateien, z.B. SGENPRT.PS für den "Generic PostScript Printer" - auch hier eine StarOffice (und auch OpenOffice.org) spezifische Seltsamkeit, dass deren PPDs die Endung PS haben - PPDs sind keine PostScript Dateien, sondern PostScript Printer Description Dateien (PPD = PostScript Printer Description).
Meine Druckerkonfiguration in YAST: HP DeskJet 895C: Paralleler Drucker auf /dev/lp0 Konfiguriert als: deskjet895c ... Die "HP-DeskJet_895C-hpijs.ppd" ist ausgewählt.
In Staroffice7 ist bei Generic printer folgende Einstellung:
Model: GEneric Printer PPD: SGENPRT.PS Queue: lpr -P "deskjet895c"
Ich finde aber keine Möglichkeit, in Staroffice Draft zu drucken, Graumodus einzustellen oder Texte farbig zu drucken.
Ich kenne StarOffice nicht gut, aber ich vermute, dass der Druckdialog in StarOffice nicht kompatibel zu CUPS ist und keine druckerspezifischen Optionen aus der PPD-Datei die CUPS verwendet, anbietet, also nichts von dem was mit lpoptions -d deskjet895c -l angezeigt wird, vergl. http://portal.suse.com/sdb/de/2004/05/jsmeix_print-cups-in-a-nutshell.html bzw. das was bei den Druckdialogprogrammen kprinter und xpp als druckerspezifische Optionen angeboten wird.
Falls man in StarOffice das Drucksystem wählen kann (etwa LPR bzw. LPRng oder CUPS), dann CUPS wählen. Dann könnte es sein, dass der Druckdialog in StarOffice die druckerspezifischen Optionen aus der PPD-Datei die CUPS verwendet, anbietet, aber ich vermute, dass CUPS noch nicht unterstützt ist.
Wenn als Druckbefehl in StarOffice nur lpr -P deskjet895c eingetragen ist, dann erzeugt StarOffice gemäß der Vorgaben in SGENPRT.PS mehr oder weniger druckerunabhängiges PostScript und schickt das via "lpr -P deskjet895c" an die Warteschlange deskjet895c wo dann CUPS (bzw. das CUPS Filtersystem) gemäß der Vorgaben in /etc/cups/ppd/deskjet895c.ppd (die bis auf evtl. andere Defaults eine Kopie von /usr/share/cups/model/.../HP-DeskJet_895C-hpijs.ppd ist) die druckerspezifischen Daten für den DeskJet 895C produziert. Dabei kann man keine druckerspezifischen Optionen ändern, sondern es werden die Defaults aus /etc/cups/ppd/deskjet895c.ppd verwendet.
Um druckerspezifische Optionen zu ändern, ist in StarOffice ein ordentliches Druckdialogprogramm als Druckbefehl einzutragen (siehe Handbuch), etwa kprinter bzw. kprinter --stdin (siehe Handbuch) oder xpp
Dann wird nach dem StarOffice-Druckdialog das externe Druckdialogprogramm aufgerufen, wo man druckerspezifische Optionen wie auch sonst üblich ändern kann.
Natürlich sollten sich die Druckoptionen im StarOffice-Druckdialog und im externen Druckdialogprogramm nicht widersprechen, z.B. verschiedene Seitengößen oder wenn in beiden Druckdialogen "Landscape" eingestellt wird, kann es evtl. sein, dass zweimal rotiert wird (einmal StarOffice und danach noch einmal CUPS) statt nur einmal wie es sein sollte u.s.w.
Ich habe dabei einmal einen lustigen Effekt erlebt: Während StarOffice oder OpenOffice.org das externe Druckdialogprogramm laufen hat, ist das Hauptfenster von StarOffice oder OpenOffice.org völlig inaktiv bis das externe Druckdialogprogramm beendet wird. D.h. jegliche Eingaben oder Mausklicks auf Schaltflächen im Hauptfenster werden solange nicht beachtet. Aber man kann das Hauptfenster, was normalerweise hinter dem aktiven Fenster des externen Druckdialogprogramms liegt, z.B. durch Anklicken der Fensterkopfleiste in den Vordergund bringen (das macht der Windowmanager und der hat nichts damit zu tun, dass die Anwendung in dem Fenster evtl. völlig inaktiv ist), worurch das Fenster des externen Druckdialogprogramms verdeckt wird. Aber weil die Anwendung im Hauptfenster völlig inaktiv ist, hat es nun den Anschein, als hätte sich StarOffice oder OpenOffice.org aufgehängt - dabei wartet es nur auf das Beenden des nun verdeckten externen Druckdialogprogramms. Man muss also nur das Fenster des externen Druckdialogprogramms wieder in den Vordergrund bringen, um weiterzukommen.
Es soll aber auch Fälle geben, in denen sich StarOffice oder OpenOffice.org tatsächlich aufhäng, wenn ein externes Druckdialogprogramm verwendet wird, aber ich selbst konnte das nicht reproduzieren.
Dennoch sollte man sicherheitshalber vor dem Drucken aus StarOffice oder OpenOffice.org das Dokument speichern.
Im Zweifel funkioniert immer, in eine (PostScript) Datei zu drucken und dann diese Datei mit einem ordentlichen Druckdialogprogramm zu drucken.
Auch kann man sich auf diese Weise bei unerwarteten Effekten in der Druckausgabe überzeugen, was StarOffice bzw. OpenOffice.org tatsächlich für eine PostScript Druckausgabe produziert haben, indem man die PostScript Datei mit einem PostScript Anzeigeprogramm anschaut. Bei Problemen verwendet man dazu vorzugsweise direkt Ghostscript gs -r60 datei.ps (oder größer "gs -r90 datei.ps") weil man dann im Ghostscript-Fenster Ghostscript-Fehlermeldungen direkt sehen kann, vergl. den teils veralteten Artikel http://portal.suse.com/sdb/de/2001/01/jsmeix_print-64-staroffice.html Als graphisches PostScript Anzeigeprogramm ist vorzugsweise gv (Paket gv) zu verwenden, z.B. gv datei.ps weil auch das Ghostscript-Fehlermeldungen anzeigt.
Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193