Linux命令行实用程序删除PDF文件中的颜色?

pla*_*ang 1 pdf colors ghostscript grayscale

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

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

谢谢

Kur*_*fle 7

你可以使用Ghostscript:

gswin32c ^
  -o grayscale.pdf ^
  -sDEVICE=pdfwrite ^
  -sColorConversionStrategy=Gray ^
  -sProcessColorModel=DeviceGray ^
  -dCompatibilityLevel=1.4 ^
   c:/path/to/input.pdf 
Run Code Online (Sandbox Code Playgroud)

(实施例是用于Windows;在Linux使用gs,而不是gswin32c.exe\作为续行标记来代替^).


更新

如果颜色转换不能按预期工作,并且如果您看到"无法将颜色空间转换为灰色,将策略还原为LeaveColorUnchanged"等消息,则...

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

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


此外,原来的答案包含一个拼写错误:

  • 它使用-sProcessColorModel=/DeviceGray(额外的正斜杠字符)
  • 而不是-sProcessColorModel=DeviceGray(没有正斜杠))