使用ghostscript将PDF转换为黑白

Modified on: Sun, 30 Dec 2018 14:00:02 +0800

与此问题类似:

  

将PDF转换为灰度FLOSS中的命令行?

我有一个PDF文档,想要将其转换为纯黑色和白色。所以我想丢弃半色调。要使用ghostscript转换为灰度,我可以使用此命令:

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

我必须更改以获得单色,例如只有黑色和白色的颜色,没有半色调?

最佳答案

最后一个建议确实只会转换为灰度,然后只有在底层文档使用 setrgbcolor 时才有效。这对我来说不起作用,因为我有一个使用 setcolor 的文档。

我成功重新定义 setcolor 以始终将颜色设置为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>

自从我做任何PostScript黑客攻击已有15年多了,所以上面可能是蹩脚,不正确甚至是偶然的 - 如果你知道如何做得更好,请建议。

作者:,Surge

相关问答

添加新评论