Порахуйте BW / кольорові сторінки в 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:

Цей однорядник відповідає на питання "Чи існує програма, яка виявляє сторінки з кольором і може витіснити номер сторінки?" 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

Маючи те саме завдання, що й ОП, і працюючи в Windows, я знайшов таке рішення, щоб швидко та красиво працювати: Збірка файлів з накопичувачем файлів SDK не є безкоштовною, але версія оцінки все ще виконує цю роботу. Завантажте поштовий файл із наведеного вище посилання, розпакуйте його та запустіть 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) насправді чорно-біла, але в метаданих описується як колір. Я не впевнений. Те, що я не знайшов у програмі швидкого переліку PDF, - це список усіх кольорових сторінок, тому я не можу сказати точне джерело цієї невідповідності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.