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

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

我有一个彩色 PDF 文件,我打算将其打印出来,然后将其复印成黑白。我想知道复印之前黑白效果如何。是否可以使用免费软件在命令行上对 PDF 进行“灰度化”?我使用的是 Ubuntu 9.10。

答案1

ImageMagick 可以做到这一点。

convert -colorspace GRAY color.pdf gray.pdf

通过这个电子邮件

答案2

更好的:

gs \
 -sOutputFile=output.pdf \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
 -dNOPAUSE \
 -dBATCH \
 input.pdf

答案3

这是一个小脚本,除了灰度转换之外,它还可以连接多个输入文件。要使用该脚本,请将以下几行放入文件中,例如“convert2gray.sh”

#!/bin/bash
gs -sOutputFile=converted.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibiltyLevel=1.4 -dNOPAUSE -dBATCH $@

并使其可执行

chmod +x convert2gray.sh

然后

./convert2gray.sh input1.pdf input2.pdf … lastinput.pdf

将生成一个 PDF“converted.pdf”,其中包含转换为灰度的输入文件的所有页面。

我必须以灰度打印出多个文件,发现这是最简单的方法,因为您可以使用一个命令在检查后打印出所有内容。

答案4

就我而言,我保留了彩色签名文件扫描件,但需要重新打印,且不带灰色噪音。对于这种情况,效果很好

convert -density 300 -threshold 75% input.pdf output.pdf

(基于答案

当您拥有原始分辨率为 300dpi 的彩色扫描 PDF(文本作为图像)时,50%-75% 之间的范围可以正常工作。

如果将文本保存为 PDF(而不是图像),输出文件大小将大大增加。

相关内容