Hallo, On Aug 25 22:09 Christoph Hanslik wrote (shortened):
heute morgen wollte ich ein Dokument mit 6 Seiten drucken, aus OpenOffice 1.9.123 heraus. Kprinter ist im OOo als "Generic Printer" bekannt. Das erwähnte Dokument ist im Querformat angelegt. Also stelle ich im OOo Druckdialog unter "Eigenschaften" auf "Landscape" und schicke ab, kprinter öffnet sich, auch hier unter "Eigenschaften" "Querformat" angewählt und ab die Post.
Siehe http://lists.suse.com/archive/suse-linux/2005-Jun/1857.html -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- und vergl. den Abschnitt "Ursache" in http://portal.suse.com/sdb/de/2002/12/jsmeix_print-cups-landscape-81.html
Die erste Seite sieht gut aus, Querformat wie gewünscht. Doch was ist das? Die restlichen Seiten sind im Hochformat ...
OpenOffice.org und StarOffice erzeugen selbst beim "Generic Printer" mehr oder weniger druckerspezifisches PostScript und zwar gemäß der OpenOffice.org/StarOffice eigenen PPD-Datei SGENPRT.PS. Diese PPD ist aber nicht die CUPS PPD-Datei /etc/cups/ppd/... die genau zum Drucker passt. OpenOffice.org/StarOffice erzeugen also nicht genau zum Drucker passendes druckerspezifisches PostScript. Wenn man in eine (PostScript)-Datei druckt, dann sieht man mit sed -n -e '/%%BeginPageSetup/,/%%EndPageSetup/p' file.ps dass OpenOffice.org/StarOffice "%%BeginFeature ... %%EndFeature" Sektionen einfüget (die können nicht von CUPS sein, denn man hat ja mit OpenOffice.org/StarOffice in eine Datei gedruckt). Z.B. etwas wie folgt: ----------------------------------------------------------------- %%BeginPageSetup [{ %%BeginFeature: *PageSize A4 <> setpagedevice %%EndFeature } stopped cleartomark %%EndPageSetup %%BeginPageSetup %%EndPageSetup %%BeginPageSetup %%EndPageSetup %%BeginPageSetup %%EndPageSetup ----------------------------------------------------------------- Damit wird hier z.B. von OpenOffice.org/StarOffice die Papiergröße festgelegt (was aber eigentlich nur von CUPS gemacht werden sollte) und das kann bei einem PostScript-Drucker seltsame Effekte geben, wenn man in CUPS (z.B. via kprinter) eine andere Papiergröße (z.B. Letter) wählt: Weil OpenOffice.org/StarOffice mit obigem Code die Papiergröße im PostScript-Drucker wieder auf A4 zurückschaltet, kann die Einstellung auf Letter in CUPS wirkungslos bleiben. Interessanterweise macht OpenOffice.org/StarOffice solche "%%BeginFeature ... %%EndFeature" Sektionen nur im Header der ersten Seite (und nicht im Dokument-Header), so dass diese Einstellungen eigentlich nur für die erste Seite gelten. Siehe das Beispiel oben: Nur die erste "%%BeginPageSetup ... %%EndPageSetup" Sektion enthält eine "%%BeginFeature ... %%EndFeature" Sektion. Man kann als Workaround mit sed -i -e '/%%BeginPageSetup/,/%%EndPageSetup/d' file.ps etwas brutal einfach alle Seitenheader komplett entfernen und damit auch die "%%BeginFeature ... %%EndFeature" Sektionen von OpenOffice.org/StarOffice. Normalerweise kann man dann file.ps ohne unerwartete Effekte drucken. Generell war und ist die Druckausgabe von OpenOffice.org und StarOffice schon immer etwas "eigenwillig", vergl. z.B.: http://lists.suse.com/archive/suse-linux/2005-Jun/1857.html http://lists.suse.com/archive/suse-linux/2005-Jun/0066.html http://lists.suse.com/archive/suse-linux/2005-May/1539.html Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/