Saran terakhir memang hanya mengonversi ke skala abu-abu dan kemudian hanya berfungsi jika dokumen yang mendasarinya menggunakan setrgbcolor . Ini tidak berhasil untuk saya, karena saya punya dokumen, yang menggunakan setcolor .
Saya berhasil mendefinisikan ulang setcolor untuk selalu menyetel warna ke 0,0,0:
gs -o <output-file.pdf> -sDEVICE=pdfwrite \
-c "/osetcolor {/setcolor} bind def /setcolor {pop [0 0 0] osetcolor} def" \
-f <input-file.ps>
Sudah lebih dari 15 tahun sejak saya melakukan peretasan PostScript, jadi hal di atas mungkin timpang, salah, atau bahkan tidak disengaja - jika Anda tahu cara melakukannya dengan lebih baik, harap sarankan.
Saya tidak yakin apakah saran berikut akan berhasil... tetapi mungkin layak untuk dicoba:
- konversi PDF ke PostScript menggunakan
pdf2ps
sederhana utilitas - konversi PostScript itu kembali ke PDF saat menggunakan
/setrgbcolor
yang ditentukan ulang Operator PostScript
Ini adalah perintahnya:
Pertama
pdf2ps color.pdf color.ps
Ini memberi Anda color.ps
sebagai keluaran.
Kedua
gs \
-o bw-from-color.pdf \
-sDEVICE=pdfwrite \
-c "/setrgbcolor{0 mul 3 1 roll 0 mul 3 1 roll 0 mul 3 1 roll 0 mul add add setgray}def" \
-f color.ps
Ini bukan ghostscript, tetapi dengan imagemagick ini cukup sederhana:
convert -monochrome input.pdf output.pdf