PDF-Dateien in der Befehlszeile von FLOSS in Graustufen konvertieren?

81

Ich habe eine farbige PDF-Datei, die ich ausdrucken und anschließend in Schwarzweiß fotokopieren werde. Ich möchte wissen, wie es in B & W ist, bevor ich es fotokopiere. Ist es mit kostenloser Software möglich, eine PDF-Datei in der Befehlszeile in Graustufen zu erstellen? Ich benutze Ubuntu 9.10.

Rory
quelle

Antworten:

36

ImageMagick kann das.

convert -colorspace GRAY color.pdf gray.pdf

über diese E-Mail

Iain
quelle
27
Das mindert die Qualität erheblich. @ Goyinux 'Lösung ist besser.
Johannes Weiss
7
Convert rastert den Inhalt des PDF-Dokuments. Wenn das PDF also nicht bereits nur Rasterbilder (z. B. ein gescanntes Dokument) kapselt, ist dieser Ansatz ein großes Nein-Nein.
m000
2
Es sei denn, Sie verwenden -density 400 -quality 100Parameter - das funktioniert gut
Burtek
2
Gibt es wirklich etwas, was ImageMagick nicht kann ? :)
BalinKingOfMoria
-density 400 -quality 100erstellt riesige Dateien. +1 für @ goyinuxs Lösung.
Stanimir Stoyanov
155

Besser:

gs \
 -sOutputFile=output.pdf \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
 -dNOPAUSE \
 -dBATCH \
 input.pdf
Eroen
quelle
1
Einverstanden, dies ergibt viel bessere Ergebnisse als das Konvertieren, aber manchmal dreht es das PDF, was ein bisschen nervig ist!
tdc
9
-dAutoRotatePages=/None
Hab
1
Ich habe diesen Befehl gerade für ein 58-MB-PDF-Dokument ausgeführt, das bereits in Graustufen (von einem Scanner) erstellt wurde. Die resultierende Ausgabe betrug 10 MB und sah genauso aus. Nett!
Archie
1
Funktioniert auch unter Windows! Entfernen Sie einfach das `\` und setzen Sie alles in die gleiche Zeile.
ixe013
1
In der Tat schlägt dies mit diesem Fehler fehlGPL Ghostscript 9.10: Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged.
jjmerelo
13

Hier ist ein kleines Skript, das zusätzlich zur Graustufenkonvertierung mehrere Eingabedateien verketten kann. Um das Skript zu verwenden, fügen Sie die folgenden Zeilen in eine Datei ein, z. B. "convert2gray.sh".

#!/bin/bash
gs -sOutputFile=converted.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibiltyLevel=1.4 -dNOPAUSE -dBATCH $@

und ausführbar machen

chmod +x convert2gray.sh

Dann

./convert2gray.sh input1.pdf input2.pdf … lastinput.pdf

erstellt eine einzige PDF-Datei "conversion.pdf", die alle Seiten der in Graustufen konvertierten Eingabedateien enthält.

Ich musste mehrere Dateien in Graustufen ausdrucken und fand das am einfachsten, da man mit einem Befehl alles nach Überprüfung ausdrucken kann.

ysis
quelle
FWIW, pdftk kann auch PDFs verketten.
user1338062