L'ultimo suggerimento in effetti si converte solo in scala di grigi e quindi funziona solo se il documento sottostante utilizza setrgbcolor . Questo non ha funzionato per me, poiché avevo un documento che utilizzava setcolor .
Ho avuto successo con la ridefinizione di setcolor per impostare sempre il colore su 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>
Sono passati più di 15 anni da quando ho eseguito l'hacking di PostScript, quindi quanto sopra potrebbe essere scadente, errato o addirittura accidentale:se sai come fare di meglio, suggeriscilo.
Non sono sicuro che il seguente suggerimento funzionerà... ma potrebbe valere la pena provare:
- converti il PDF in PostScript usando il semplice
pdf2ps
utilità - converti quel PostScript in PDF usando un
/setrgbcolor
ridefinito Operatore PostScript
Questi sono i comandi:
Prima
pdf2ps color.pdf color.ps
Questo ti dà color.ps
come output.
Secondo
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
Non è ghostscript, ma con imagemagick è piuttosto semplice:
convert -monochrome input.pdf output.pdf