2

我正在寻找能够删除 PDF 中颜色的 linux 命令行实用程序/脚本。该实用程序的输出应该是相同的 PDF,但为灰度。

有谁知道如何做到这一点?

谢谢

4

1 回答 1

9

您可以使用 Ghostscript:

gswin32c ^
  -o grayscale.pdf ^
  -sDEVICE=pdfwrite ^
  -sColorConversionStrategy=Gray ^
  -sProcessColorModel=DeviceGray ^
  -dCompatibilityLevel=1.4 ^
   c:/path/to/input.pdf 

(示例适用于 Windows;在 Linux 上使用gs代替gswin32c.exe\作为行继续标记代替^)。


更新

如果颜色转换无法按预期工作,并且您看到“无法将颜色空间转换为灰色,正在将策略恢复为 LeaveColorUnchanged”之类的消息,那么...

  1. 您的 Ghostscript 可能是9.x 版本系列的较新版本,并且
  2. 您的源 PDF 可能使用嵌入式ICC 颜色配置文件

在这种情况下,添加-dOverrideICC到命令行并查看它是否根据需要更改结果。


此外,原始答案包含一个错字:

  • 它使用-sProcessColorModel=/DeviceGray(附加的正斜杠字符)
  • 而不是-sProcessColorModel=DeviceGray(没有正斜杠))
于 2010-10-09T21:07:15.767 回答