Konversi PDF ke skala abu-abu pada baris perintah di FLOSS?


80

Saya memiliki file PDF berwarna, dan saya akan mencetaknya kemudian menyalinnya hitam putih. Saya ingin tahu bagaimana rasanya di B&W sebelum memfotokopi. Apakah mungkin untuk 'greyscale' PDF di baris perintah menggunakan perangkat lunak gratis? Saya menggunakan Ubuntu 9,10.

Jawaban:


35

ImageMagick dapat melakukan ini.

convert -colorspace GRAY color.pdf gray.pdf

via email ini


27
Itu secara signifikan mengurangi kualitas. Solusi @goyinux lebih baik.
Johannes Weiss

7
Konversi sebenarnya akan meraster isi pdf. Jadi kecuali pdf sudah merangkum hanya gambar raster (misalnya dokumen yang dipindai), pendekatan ini adalah tidak boleh-tidak.
m000

2
Kecuali Anda menggunakan -density 400 -quality 100parameter - yang berfungsi dengan baik
burtek

2
Sungguh, adakah yang tidak bisa dilakukan ImageMagick ? :)
BalinKingOfMoria

-density 400 -quality 100membuat file BESAR. +1 untuk solusi @ goyinux.
Stanimir Stoyanov

155

Lebih baik:

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

1
Setuju, ini memberikan hasil yang jauh lebih baik daripada konversi, tetapi kadang-kadang memutar pdf yang sedikit mengganggu!
tdc

9
Baru sadar Anda dapat menonaktifkannya dengan-dAutoRotatePages=/None
tdc

1
Saya hanya menjalankan perintah ini pada 58MB PDF yang sudah abu-abu (berasal dari pemindai) dan output yang dihasilkan adalah 10MB dan tampak persis sama. Bagus!
Archie

1
Bekerja dengan baik di Windows juga! Hapus saja `\` dan letakkan semuanya di baris yang sama.
ixe013

1
Bahkan, ini gagal dengan kesalahan iniGPL Ghostscript 9.10: Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged.
jjmerelo

13

Berikut ini adalah skrip kecil yang selain konversi grayscale dapat menggabungkan beberapa file input. Untuk menggunakan skrip, masukkan baris berikut dalam file, misalnya "convert2gray.sh"

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

dan membuatnya dapat dieksekusi

chmod +x convert2gray.sh

Kemudian

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

akan menghasilkan satu PDF "convert.pdf", yang berisi semua halaman dari file input yang dikonversi ke skala abu-abu.

Saya harus mencetak file mutliple semua dalam skala abu-abu dan menemukan ini cara termudah, karena Anda dapat mencetak semuanya setelah pemeriksaan dengan satu perintah.


FWIW, pdftk juga dapat menggabungkan PDF.
user1338062
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.