Wie verhindere ich, dass CUPS meine PDF-Datei automatisch dreht?

7

Auf meinem Ubuntu 16.04 LTS-System habe ich einen Citizen CL-S621Z-Etikettendrucker mit 50 x 80 mm-Etiketten (Hochformat) und ein 50 x 80 mm-PDF, das ich drucken möchte:

Geben Sie hier die Bildbeschreibung ein

Das Problem ist, dass CUPS den Job um 270 ° dreht, so dass er seitlich herauskommt:

Geben Sie hier die Bildbeschreibung ein

Die eingegebene PDF-Datei hat selbst keine Seitenrotation. Dies zeigt pdfinfo:

admin@bukittinggi ~> pdfinfo label.pdf
Creator:        cairo 1.13.1 (http://cairographics.org)
Producer:       cairo 1.13.1 (http://cairographics.org)
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      141.732 x 226.772 pts
Page rot:       0
File size:      32443 bytes
Optimized:      no
PDF version:    1.5

Meine Druckbefehlszeile lautet:

lpr label.pdf

Ich habe eine Reihe von Optionen versucht, automatische Seitendrehung zu verhindern, einschließlich -o 'nopdfAutoRotate', -o portrait, -o landscapeund -o orientation-requested=N(für Werte Nzwischen 0 und 7), und keiner von ihnen scheinen keine Wirkung zu haben.

Der Job scheint durch pdftopdfund dann pdftopsim CUPS-Filterdiagramm zu laufen , und soweit ich das beurteilen kann, erfolgt die Drehung, wenn der Job auf den letzteren Filter trifft, wonach die Seitenrotation auf 270 ° eingestellt wird:

~> /usr/sbin/cupsfilter -P test.ppd -m application/vnd.cups-postscript label.pdf  > filtered.ps
~> ps2pdf filtered.ps
~> pdfinfo filtered.pdf
[...]
Page size:      142 x 227 pts
Page rot:       270

/usr/lib/cups/filter/pdftopsist von der cups-filters-core-driversVersion 1.8.3-2ubuntu3. Seltsamerweise tritt das Problem bei Raspbian mit cups-filters-core-driversVersion nicht auf 1.0.61-5+deb8u3.


Update: Ich konnte die gewünschte Ausrichtung erzielen, indem ich die PPD-Datei sorgfältig so bearbeitete, dass sie genau den Etikettenabmessungen entspricht:

*DefaultPageSize: w142h227
*PageSize w142h227/1.97x3.15": "<</PageSize[142 227]/ImagingBBox null>>setpagedevice"
*PageRegion w142h227/1.97x3.15": "<</PageSize[142 227]/ImagingBBox null>>setpagedevice"
*ImageableArea w142h227/1.97x3.15": "0 0 142 227"
*PaperDimension w142h227/1.97x3.15": "142 227"

Vielen Dank an Michael vom CUPS-Team.

Crishoj
quelle
es noch einmal -90 drehen lassen? > :-)
Rinzwind
Danke für den Vorschlag. Wissen Sie, wie ich mich in die CUPS-Filterkette einhängen und die Rotation auslösen kann?
Crishoj
1
Ich habe genau das gleiche Verfahren wie Sie durchlaufen. Ich habe zwei Tage verloren, als ich all diese "funktionierenden" Optionen in der CUPS-Dokumentation ausprobiert habe - nichts hat funktioniert. Zum Glück hat die Lösung von @timicu unten wie ein Zauber funktioniert.
Spaceman117X

Antworten:

7

Wir hatten das gleiche Problem mit einem Zebra Z4MPLUS-Drucker, der die PPD-Datei von Zebra verwendete. Die PPD-Datei hatte eine Etikettengröße von 8,00 x 4,00 ", aber das funktionierte bei uns nicht. Die Verwendung von Custom 4x8in funktionierte auch nicht. Wir mussten eine Etikettengröße von 4,00 x 8,00" in der PPD-Datei erstellen und diese dann auswählen Tassen. Wir haben dazu eine Etikettengröße von 4,00 x 13,00 Zoll in der PPD bearbeitet, von der wir wussten, dass wir sie nicht benötigen würdendiff original.ppd edited.ppd

40c40
< *DefaultPageSize: Custom.4x8in
---
> *DefaultPageSize: w288h576
80c80
< *PageSize w288h936/4.00x13.00": "<</PageSize[288 936]/ImagingBBox null>>setpagedevice"
---
> *PageSize w288h576/4.00x8.00": "<</PageSize[288 576]/ImagingBBox null>>setpagedevice"
98c98
< *DefaultPageRegion: Custom.4x8in
---
> *DefaultPageRegion: w288h576
138c138
< *PageRegion w288h936/4.00x13.00": "<</PageSize[288 936]/ImagingBBox null>>setpagedevice"
---
> *PageRegion w288h576/4.00x8.00": "<</PageSize[288 576]/ImagingBBox null>>setpagedevice"
154c154
< *DefaultImageableArea: Custom.4x8in
---
> *DefaultImageableArea: w288h576
194c194
< *ImageableArea w288h936/4.00x13.00": "0.00 0.00 288.00 936.00"
---
> *ImageableArea w288h576/4.00x8.00": "0.00 0.00 288.00 576.00"
209c209
< *DefaultPaperDimension: Custom.4x8in
---
> *DefaultPaperDimension: w288h576
249c249
< *PaperDimension w288h936/4.00x13.00": "288.00 936.00"
---
> *PaperDimension w288h576/4.00x8.00": "288.00 576.00"
timcu
quelle
1
Mann, diese Lösung funktioniert Kopieren / Einfügen auch für Zebra ZT230. Ich danke dir sehr!
Spaceman117X
1
Du hast meinen Arsch gerettet! Ich hätte das nie alleine herausgefunden. Ich kann endlich DHL-Etiketten mit dem Zebra GC420t unter Linux drucken. Vielen Dank!
László Monda