Ear*_*liŋ 7 command-line pdf ghostscript inkscape printing
我有一个 65 页的 PDF 文件,其中包含深灰色文本。(实际文本,而不是图片/文本图像。)在我的黑白打印机上打印时,文本变得模糊不清,因为打印机试图使它小于黑色。我可以通过将页面导入inkscape,选择所有路径,单击“黑色”,将所有颜色(包括灰色调)转换为纯黑色,然后导出回PDF来逐页解决这个问题。
有没有办法在命令行中的inkscape中执行这些步骤(用于批处理)?
有没有办法在没有inkscape的情况下实现相同的结果(将pdf转换为黑白,1位灰度)?
编辑。在使用 Ghostscript 的Unix.SE和superuser上也有类似的问题。但是,这些只能通过选项将文件转换为灰度 -sColorConversionStrategy=Gray。该选项-sColorConversionStrategy=/Mono导致错误Unrecoverable error: rangecheck in .putdeviceprops。由于我的文件已经是灰度的,这些并不能解决我的问题。
超级用户给出的这个答案对我有用,我在 2 分钟内没有得到关于这个问题的其他答案。原始答案归功于 goyiux。
gs \
-sOutputFile=output.pdf \
-sDEVICE=pdfwrite \
-sColorConversionStrategy=Gray \
-dProcessColorModel=/DeviceGray \
-dCompatibilityLevel=1.4 \
-dNOPAUSE \
-dBATCH \
input.pdf
Run Code Online (Sandbox Code Playgroud)
在 SuperUser 上调整这个答案,这可以通过使用重新定义的命令将 PDF 转换为 PostScript 并返回来实现setrgbcolor:
gs -o <output-file.pdf> -sDEVICE=pdfwrite \
-c "/osetrgbcolor {/setrgbcolor} bind def /setrgbcolor {pop [0 0 0] osetrgbcolor} def" \
-f <input-file.ps>
Run Code Online (Sandbox Code Playgroud)