y0o.de · GNU/Linux Nachrichten u.Ä.

🔒
❌ Über y0o.de
Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

Farb-PDFs in Graustufen-PDFs umwandeln

09. Juni 2021 um 17:05

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

PDF in Bilder umwandeln

18. Juli 2019 um 13:25

Um ein PDF in Bilder (hier im PNG-Format) umzuwandeln, gibt es verschiedene Möglichkeiten. Ich selber habe bisher immer mit ImageMagick und dem Kommando convert gearbeitet.

Das Umwandeln geht dann über z.B.

convert -density 300 -quality 80 source.pdf destination.png

Besteht das PDF aus mehreren Seiten, werden die Zieldateien durch ensprechendes Suffix ergänzt.

Seit einigen Monaten geht dieses Kommando allerdings nicht mehr und folgende Fehlermeldung wird angezeigt:

convert: attempt to perform an operation not 
allowed by the security policy 
`PDF' @ error/constitute.c/IsCoderAuthorized/408.

Hintergrund ist, dass neuerdings mit den Security Policies ImageMagick besser kontrolliert werden kann bezüglich RAM-Nutzung, verwendeten Dateiformaten, etc.

Mit der Zeile

  <policy domain="coder" rights="read | write" pattern="PDF" />

in der Datei /etc/ImageMagick-7/policy.xml ist es möglich, diese Beschränkung manuell für das PDF-Format aufzuheben.

Alternativ kann auch von den Poppler-Utils das Programm pdftoppm verwendet werden:

pdftoppm -png source.png destination.png
❌