SuSE Linux: Version 8.1
Es ist in diesen Fällen auch nicht möglich den Landscape- bzw.
Portrait-Druck mit entsprechenden CUPS Parametern zu erzwingen, etwa mit:
lp -o landscape PostScript-Datei
oder mit
lp -o portrait PostScript-Datei
%%Orientation: Landscape
%%Orientation: Portrait
Steht im PostScript-Code %%Orientation: Landscape
,
so rotiert das CUPS Drucksystem die Druckausgabe um 90 Grad
um sie passend für einen Ausdruck auf Papier, was dem Drucker
im Querformat zugeführt wird, zu machen.
Wenn aber die Druckausgabe in der PostScript-Datei schon vom
Programm bzw. der Applikation passend für den Landscape-Modus
gedreht war, so dass die Druckausgabe auf Papier im Hochformat
gedruckt werden kann, dann führt die nochmalige Drehung durch
das CUPS Drucksystem zur falschen Orientierung.
%%Orientation: Landscape
, so muss das durch
%%Orientation: Portrait
ersetzt werden.
Dies leistet der folgende sed-Befehl:
sed -e 's/Orientation: Landscape/Orientation: Portrait/' PostScript-Datei >PostScript-Datei.neuDie geänderte PostScript-Datei
PostScript-Datei.neu
sollte nun in korrekter Orientierung ausgedruckt werden.
Zum direkten Ausdruck aus Anwendungsprogrammen (z.B. Netscape) kann im Anwendungsprogramm als entsprechender Druckbefehl
sed -e 's/Orientation: Landscape/Orientation: Portrait/' | lproder
sed -e 's/Orientation: Landscape/Orientation: Portrait/' | kprinter --stdineingetragen werden, der den Ausdruck im Portrait-Modus nicht behindern sollte, denn
%%Orientation: Portrait
bleibt unverändert.
Den sed-Aufruf können Sie für a2ps in /etc/a2ps-site.cfg eintragen, indem Sie dort die Zeile
UnknownPrinter: | #{lp} #obeispielsweise durch
UnknownPrinter: | sed -e 's/Orientation: Landscape/Orientation: Portrait/' | #{lp} #oersetzten und ggf. analog mit der "
DefaultPrinter
"-Zeile verfahren.
Die Information zur Konfiguration von a2ps stammt von Herrn Willy Weisz wofür wir uns herzlich bedanken!
Auf analoge Weise kann der sed-Befehl auch bei anderen Programmen eingebaut werden, so dass die Druckausgaben automatisch korrigiert werden. Konsultieren Sie dazu die Dokumentation zum jeweiligen Programm. In jedem Fall funktioniert es, in eine Datei zu drucken und dann den sed-Befehl auf die Datei anzuwenden (sofern die Druckausgabe in der Datei PostScript ist).
Eine grundsätzliche Lösung bietet CUPS Version 1.1.18. Diese CUPS Version umgeht das Problem, so dass hiermit Landscape-Druck ganz normal möglich ist.
Bisher kamen nur positive Rückmeldungen bzgl. CUPS 1.1.18 und evtl. ist diese neue CUPS Version auch für Sie interessant, zumal CUPS 1.1.18 bereits die Security-Fixes enthält, die ansonsten ein Update gemäss "http://www.suse.de/de/private/download/updates/81_i386.html" nötig machen.
Beachten Sie aber dennoch, dass wir für CUPS 1.1.18 keine Garantie, Gewährleisung oder Support übernehmen.
Das liegt daran, dass bei CUPS 1.1.18 eine neue Version der CUPS-Bibliotheken (Paket cups-libs) dabei ist und etliche wichtige Programme (z.B. Ghostscript, KDE, Samba, Wine und die YaST2 Druckerkonfiguration) benötigen die CUPS-Bibliotheken, d.h. sie sind gegen die CUPS-Bibliotheken gelinkt und geänderte CUPS-Bibliotheken können beliebige Probleme verursachen.
Insbesondere mit USB-Druckern könnte es bei CUPS 1.1.18 Probleme geben, weil CUPS 1.1.18 für USB-Drucker eine andere Art der Device-URI verwendet (usb://VENDOR/MODEL?serial=...) womit die Device-URI nur noch vom Druckermodell abhängt und nicht mehr an eine feste Gerätedatei (/dev/usb/lp...) gebunden ist - siehe bei CUPS 1.1.18 und angeschlossenen USB-Druckern die Ausgabe von /usr/lib/cups/backend/usb. Ggf. ist also die Device-URI in /etc/cups/printers.conf anzupassen, wobei die direkte Angabe der Gerätedatei (usb:/dev/usb/lp...) immer noch funktioniert.
Zum Testen von CUPS 1.1.18 mit SuSE Linux 8.1 siehe "Test neuer CUPS Versionen für SuSE Linux 8.1" (http://sdb.suse.de/de/sdb/html/jsmeix_print-cups-testversion-81.html).
SDB-jsmeix_print-cups-landscape-81
)