Считать черно-белые страницы в PDF

23

У меня есть 100-страничный PDF-документ, который мне нужно распечатать. Моей типографии нужно сказать, какие страницы содержат цвет. Я не хочу сканировать вручную. Есть ли программа, которая распознает цветные страницы и может вывести номер страницы?

Никто
источник
1
Операционная система?
frabjous

Ответы:

25

Нашел это на http://root42.blogspot.de/2012/10/counting-color-pages-in-pdf-files.html

gs -o - -sDEVICE=inkcov input.pdf | grep -v "^ 0.00000  0.00000  0.00000" | grep "^ " | wc -l

Работал хорошо для меня

Общее количество страниц может быть найдено

pdfinfo input.pdf | grep Pages:
Ульрик
источник
Этот oneliner отвечает на вопрос "Есть ли программа, которая распознает цветные страницы и может вывести номер страницы?" gs -o - -sDEVICE=inkcov input.pdf |tail -n +4 |sed '/^Page*/N;s/\n//'|sed -E '/Page [0-9]+ 0.00000 0.00000 0.00000 / d'
Фредрик Эрландссон
8

В Linux (и, вероятно, Mac / другой Unix), следующий очень короткий скрипт BASH, похоже, справится с задачей:

 #!/bin/bash
 file="$1"
 for page in $(identify -density 12 -format '%p ' "$file") ; do
     if convert "$file[$((page-1))]" -colorspace RGB -unique-colors txt:- | sed -e 1d | egrep -q -v ': \(\s*([0-9]*),\s*\1,\s*\1' ; then
         echo $page
     fi
 done

Назовите скрипт как-нибудь так coloredpages.sh, сделайте его исполняемым chmod +x coloredpages.shи затем запустите, ./coloredpages.sh "pdfname.pdf"и он должен вернуть список номеров страниц.

Для этого требуется установить ImageMagick и, возможно, Ghostscript. И это не самая быстрая вещь в мире.

Извините, я понятия не имею, как адаптировать это для Windows (без Cygwin или подобного, в любом случае).

радостный
источник
Спасибо, я сделаю это, когда у меня работает Linux. Я могу найти лучшую типографию, которая сможет это обнаружить.
Нет
3

Имея ту же задачу, что и OP и работая в Windows, я нашел следующее решение для быстрой и удобной работы: SDK счетчика файлов буферных файлов не бесплатен, но пробная версия все еще работает. Скачайте zip-файл по вышеуказанной ссылке, разархивируйте его и запустите bin/C#_ParsingTest yourfile.pdf. Вы увидите что-то вроде

Page   1 is [   BW]
Page   2 is [Color]
...
Page 143 is [Color]
============
Statistics: bwPageCount=99, colorPageCount=44

Rapid PDF Count упоминается в другом ответе здесь требует установок (который для моей единовременной работы --- диссертация печати) является недостатком. Однако это также делает работу и предоставляет графический интерфейс. После установки запустите его, перетащите в него файл PDF, выберите « Color Pages CountingНастройки / Параметры» и нажмите Page count files in listкнопку.

Интересно, что результаты моей диссертации отличаются на 1 страницу (99/44 против 100/43). Я полагаю, это потому, что некоторые фигуры (я сделал все с помощью Inkscape) на самом деле черно-белые, но в метаданных описываются как цветные. Я не уверен. Что я не нашел в Rapid PDF Count, так это список всех цветных / черно-белых страниц, поэтому я не могу точно определить источник этого расхождения.

texnic
источник