创建包含黑白图像的 PDF

创建包含黑白图像的 PDF

我有一个 LaTeX 文档,其中包含多张黑白、灰度值和彩色图像。使用 pdfLaTeX 创建 PDF 时,我得到的 PDF 中不确定嵌入的黑白图像是否实际设置为黑白(这对打印成本很重要)。

有没有办法测试哪些图像被设置为黑白、灰度值和彩色;并且如果有必要强制 pdfLaTeX 将它们设置为黑白?

答案1

Ghostscript可以将彩色文档转换为灰度。示例命令行:

gs \
 -o grayscale.pdf \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -sProcessColorModel=/DeviceGray \
  /path/to/your.pdf

Ghostscript 的最新版本还可以使用名为 的新“设备”来检查 PDF 文档的 CMYK 油墨覆盖率(不是逐张图像,而是逐页)inkcov。检查示例 PDF 的油墨覆盖率:

gs -o - -sDEVICE=inkcov /path/to/your.pdf

示例输出:

Page 1
0.00000  0.00000  0.00000  0.02230 CMYK OK
Page 2
0.02360  0.02360  0.02360  0.02360 CMYK OK
Page 3
0.02525  0.02525  0.02525  0.00000 CMYK OK
Page 4
0.00000  0.00000  0.00000  0.01982 CMYK OK

这里 1.00000 表示 100%,0.02525 表示 2.525%,0.00000 表示 0% 墨水覆盖率。您可以在这里看到,第 1+4 页没有使用颜色,而第 2+3 页使用了颜色。这种情况对于想要节省彩色墨水的人来说尤其“糟糕”:因为第 2+3 页的所有 C、M、Y(和 K)值都完全相同,所以它们可能在人眼看来不是彩色页面,而是灰度(或第 3 页的“丰富”灰度)。(也就是说,如果每个像素都与这些颜色值混合 - 当然,如果页面由四个大小相同的不同方块组成,每个方块都使用“纯”颜色,那么您将获得相同的墨水覆盖结果)。

现在使用我最初给出的命令将原始 PDF 转换为灰度 PDF。然后再次检查墨水覆盖率分布(请注意,参数的添加会-q略微改变输出格式):

gs -q  -o - -sDEVICE=inkcov grayscale.pdf
 0.00000  0.00000  0.00000  0.02230 CMYK OK
 0.00000  0.00000  0.00000  0.02360 CMYK OK
 0.00000  0.00000  0.00000  0.02525 CMYK OK
 0.00000  0.00000  0.00000  0.01982 CMYK OK

相关内容