Bir PDF'yi FLOSS'taki komut satırında gri tonlamaya dönüştürme?


81

Renkli bir PDF dosyam var ve yazdırıp daha sonra siyah beyaz fotokopisini çekeceğim. Fotokopi çekmeden önce B&W'de nasıl bir şey olduğunu bilmek isterim. Özgür yazılımı kullanarak komut satırında bir PDF'yi 'gri tonlamak' mümkün mü? Ubuntu 9.10 kullanıyorum.

Yanıtlar:


36

ImageMagick bunu yapabilir.

convert -colorspace GRAY color.pdf gray.pdf

bu e-posta yoluyla


27
Bu, kaliteyi önemli ölçüde azaltır. @goyinux 'çözümü daha iyi.
Johannes Weiss

7
Convert aslında pdf içeriğini rasterleştirir. Bu nedenle, pdf zaten yalnızca raster görüntüleri kapsamadığı sürece (örneğin taranmış bir belge), bu yaklaşım büyük bir hayır-hayır.
m000 19:14

2
-density 400 -quality 100Parametreleri kullanmadığınız sürece - bu iyi çalışıyor
burtek

2
Gerçekten, ImageMagick'in yapamayacağı bir şey var mı? :)
BalinKingOfMoria,

-density 400 -quality 100BÜYÜK dosyalar oluşturur. @ Goyinux'un çözümü için +1.
Stanimir Stoyanov

155

Daha iyi:

gs \
 -sOutputFile=output.pdf \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
 -dNOPAUSE \
 -dBATCH \
 input.pdf

1
Kabul, bu dönüştürmekten çok daha iyi sonuçlar verir, ancak bazen biraz sinir bozucu pdf döndürür!
tdc

9
-dAutoRotatePages=/None
Az önce

1
Bu komutu, zaten gri tonlamalı (bir tarayıcıdan gelen) 58 MB'lık bir PDF'de çalıştırdım ve elde edilen çıktı 10 MB'tı ve tamamen aynı görünüyordu. Güzel!
Archie

1
Windows'da da iyi çalışıyor! Sadece `\` işaretini kaldırın ve her şeyi aynı satıra koyun.
ixe013

1
Aslında, bu, bu hata ile başarısız olurGPL Ghostscript 9.10: Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged.
jjmerelo

13

Gri tonlamalı dönüştürmeye ek olarak birden fazla giriş dosyasını birleştirebilen küçük bir komut dosyası. Komut dosyasını kullanmak için aşağıdaki satırları bir dosyaya yerleştirin, örneğin "convert2gray.sh"

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

ve çalıştırılabilir yap

chmod +x convert2gray.sh

Sonra

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

Gri tonlamaya dönüştürülen giriş dosyalarındaki tüm sayfaları içeren tek bir "PDF" dönüştürülür.

Çoklu dosyaları gri tonlamalı yazdırmam ve bunu en kolay yoldan bulmam gerekti, çünkü tek bir komutla denetimden sonra her şeyi yazdırabilirsiniz.


FWIW, pdftk de PDF'leri birleştirebilir.
user1338062
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.