Рассмотрите этот PDF-файл colorpages.pdf, связанный здесь
У меня есть две команды, чтобы знать a) сколько цветных страниц у меня в моем PDF-файле b)на какой странице используется цвет.
Для а) Я использую
gs -o - -sDEVICE=inkcov colorpages.pdf | grep -v "^ 0.00000 0.00000 0.00000" | grep "^ " | wc
и получаю число (общее количество страниц с цветом).
Для б) Я использую
gs -o - -sDEVICE=inkcov colorpages.pdf |tail -n +5 |sed '/^Page*/N;s/\n//' |sed -E '/Page [0-9]+ 0.00000 0.00000 0.00000 / d'
, что дает мне хороший список с информацией о цвете;например,
Page 1 0.00000 0.00000 0.00000 0.99454 CMYK OK
Page 2 0.00000 0.99228 0.00000 0.00000 CMYK OK
Page 3 0.99222 0.00000 0.00000 0.00000 CMYK OK
Page 4 0.99289 0.99289 0.99289 0.99289 CMYK OK
Page 5 0.99316 0.99316 0.00000 0.00000 CMYK OK
Page 6 0.99130 0.99130 0.99130 0.99130 CMYK OK
Page 7 0.00000 0.00000 0.00000 0.99392 CMYK OK
Page 8 0.00000 0.00000 0.00000 0.99189 CMYK OK
Page 9 0.00000 0.00000 0.00000 0.99128 CMYK OK
Page 10 0.00000 0.00000 0.98594 0.00000 CMYK OK
Page 11 0.00000 0.98908 0.98908 0.00000 CMYK OK
Page 12 0.00000 0.00000 0.00000 0.98682 CMYK OK
Но мне нужно (дополнительно) список , разделенный запятыми всех используемых цветов страниц.
Отслеживание
Команда
gs -o - -sDEVICE=inkcov colorpages.pdf |tail -n +5 |sed '/^Page*/N;s/\n//' |sed -E '/Page [0-9]+ 0.00000 0.00000 0.00000 / d' | awk '$3!=0 && $4!=0 && $5!=0{if(length(colored))colored=colored","$2;else colored=$2} END{print colored}'
дает мне следующий список 1,2,3,4,5,6,7,8,9,10,11,12
.Но это должно быть 2,3,4,5,6,10,11.