Mengubah PDF menjadi hitam putih dengan ghostscript

21

Demikian pula dengan pertanyaan ini:

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

Saya memiliki dokumen PDF dan ingin mengubahnya menjadi hitam dan putih murni. Jadi saya ingin membuang halftones. Untuk mengkonversi ke skala abu-abu dengan ghostscript saya dapat menggunakan perintah ini:

gs \
 -sOutputFile=output.PDF \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
  input.PDF < /dev/null

Apa yang harus saya ubah untuk mendapatkan monokrom misalnya hanya warna hitam dan putih dan tidak ada halftone?

niklasfi
sumber

Jawaban:

6

Saran terakhir memang hanya mengkonversi ke grayscale dan kemudian hanya berfungsi jika doc yang mendasarinya menggunakan setrgbcolor . Ini tidak berhasil untuk saya, karena saya memiliki dokumen, yang menggunakan setcolor .

Saya sukses dengan mendefinisikan ulang setcolor untuk selalu mengatur 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 15+ tahun sejak saya melakukan peretasan PostScript, jadi hal di atas mungkin timpang, salah, atau bahkan tidak disengaja - jika Anda tahu bagaimana melakukan lebih baik, silakan sarankan.

Lonjakan
sumber
3

Saya tidak yakin apakah saran berikut akan berfungsi ... tetapi mungkin ada baiknya untuk dicoba:

  1. konversikan PDF ke PostScript menggunakan pdf2psutilitas sederhana
  2. konversikan PostScript itu kembali ke PDF saat menggunakan /setrgbcoloroperator PostScript yang didefinisikan ulang

Ini adalah perintahnya:

Pertama

  pdf2ps color.pdf color.ps

Ini memberi Anda color.pssebagai output.

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
Kurt Pfeifle
sumber
Saya mencoba ini dan masih dibiarkan dengan nuansa abu-abu. niklasfi ingin monokrom.
frabjous
3

Ini bukan ghostscript, tetapi dengan imagemagick ini cukup sederhana:

 convert -monochrome input.pdf output.pdf
o-kota
sumber
10
Kualitas pdf yang dihasilkan jauh lebih buruk daripada yang asli.
Hindol
convert -monochrome -denisty 600?
Ilia w495 Nikitin
Ini sepertinya melakukan setengah nada; Saya ingin semua warna (tapi putih) dikonversi menjadi hitam, terlepas dari kegelapan.
g.roket
0

Untuk PDF hitam putih murni, Anda perlu mengonversinya ke dalam format ps, lalu ke PDF untuk catatan tambahan:

exec(" gs -sDEVICE=psmono  -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=combined.ps  $pdf");

postscript ke PDF -> hitam dan putih

exec(" gs -sDEVICE=pdfwrite   -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=file_pdf.pdf  filename.ps");
Tarun Kumar
sumber