PDFやEPSがグレイスケールになっているかどうかを調べる方法(Ghostscriptでinkcovデバイスを使う)
問い
- PDFやEPSがグレイスケールになっているかどうか調べたい。
答え
- Ghostscriptでinkcovデバイスを使うとCMYKがわかるのでKだけになっていればグレイスケールです。
詳細
$ gs -q -o - -sDEVICE=inkcov color-file.eps
0.07787 0.08048 0.08048 0.02049 CMYK OK
$ gs -q -o - -sDEVICE=inkcov gray-file.eps
0.00000 0.00000 0.00000 0.08466 CMYK OK
- Rubyスクリプトで単独コマンド(cols)にしました。
#!/usr/bin/env ruby
if ARGV.length != 1
puts "Usage: cols epsfile"
puts "Example: cols mathgirl.eps"
abort
end
system("gs -q -o - -sDEVICE=inkcov #{ARGV[0]}")
実行例
$ cols
Usage: cols epsfile
Example: cols mathgirl.eps
$ cols mathgirl-color.eps
0.07787 0.08048 0.08048 0.02049 CMYK OK
$ cols mathgirl-gray.eps
0.00000 0.00000 0.00000 0.08466 CMYK OK
参照