Kürzlich musste ich einige Tickets ausdrucken, die großflächig mit Farbe hinterlegt waren. Der Treiber meines Drucker bietet leider keine Möglichkeit, ein Dokument in Graustufen auszudrucken. Und der Farbdruck vergeudet eine Menge Tinte/Toner. Also habe ich nach einem Weg gesucht, Farb-PDFs in Graustufen-PDFs umzuwandeln. Und siehe da: Was Linux an Benutzerkomfort vermissen lässt, ersetzt es durch tolle Kommandos :-)
Variante 1: convert
Den bequemsten Weg bietet das Kommando convert
aus dem Paket ImageMagick (apt/dnf install imagemagick
). Mit den Optionen -quality
und -density
steuern Sie gleichzeitig die Qualität und Größe der resultierenden PDFs. Einen guten Kompromiss bietet:
convert -colorspace GRAY -density 300 -quality 95 in-color.pdf out-grey.pdf
Noch schärfer wird der Ausdruck so:
convert -colorspace GRAY -density 400 -quality 100 Tickets-color.pdf Tickets-grey.pdf
Die resultierende Datei ist dann aber auch entsprechend größer.
Bei vielen Distributionen weigert sich convert
, PDFs zu verarbeiten, und liefert die folgende Fehlermeldung:
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421.
convert-im6.q16: no images defined `Tickets-grey.pdf' @ error/convert.c/ConvertImageCommand/3229.
Abhilfe schafft die Entfernung der entsprechenden Zeile aus /etc/ImageMagick-6/policy.xml
. Im folgenden Listing habe ich die Zeile auskommentiert:
<policymap>
...
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
...
</policymap>
Variante 2: gs
Mit mehr Tippaufwand ist das zweite Kommando verbunden:
gs -sOutputFile=out-grey.pdf \
-sDEVICE=pdfwrite \
-sColorConversionStrategy=Gray \
-dProcessColorModel=/DeviceGray \
-dCompatibilityLevel=1.4 \
-dNOPAUSE -dBATCH in-color.pdf
Die Qualität ist ähnlich wie bei convert -density 400 -quality 100
. Die Rechenzeit ist deutlich höher, dafür ist die Dateigröße spürbar kleiner.
Quelle
https://superuser.com/questions/104656/convert-a-pdf-to-greyscale-on-the-command-line-in-floss
Hallo Herr Kofler,
„Der Treiber bietet leider keine Möglichkeit… .“
Ich habe einen Brother HL-3040CN. Mit diesem konnte ich unter Linux ebenso nicht schwarz-weiß drucken. Meine Lösung war die PPD-Datei im Texteditor zu öffnen, 2 bis 3 Zeilen anzupassen und im CUPS wieder zu hinterlegen. Nun kann ich auch unter Linux schwarz-weiß drucken.
Vielleicht bringt auch dir das die Lösung, statt die PDFs umzuwandeln ;)
Gruß
Wer mit Klickibunti lieber fährt, der kann das Ganze auch mit GIMP lösen.
Feddisch.