Odpowiedzi:
Znalazłem to na 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
Działa dobrze dla mnie
Łączną liczbę stron można znaleźć według
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'
W Linuksie (i prawdopodobnie Mac / innym Uniksie) wydaje się, że następujący bardzo krótki skrypt BASH załatwia sprawę:
#!/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
Nadaj skryptowi nazwę coloredpages.sh
, a chmod +x coloredpages.sh
następnie uruchom ./coloredpages.sh "pdfname.pdf"
go, a następnie powinien zwrócić listę numerów stron.
Wymaga to zainstalowania ImageMagick i prawdopodobnie Ghostscript. I nie jest to najszybsza rzecz na świecie.
Niestety nie mam pojęcia, jak to dostosować do systemu Windows (w każdym razie bez Cygwin lub podobnego).
Mając to samo zadanie co OP i pracując w systemie Windows, znalazłem następujące rozwiązanie, które działa szybko i ładnie: Zestaw SDK licznika stron buforu jest niewolny, ale wersja testowa nadal działa. Pobierz plik zip z powyższego linku, rozpakuj go i uruchom bin/C#_ParsingTest yourfile.pdf
. Zobaczysz coś takiego
Page 1 is [ BW]
Page 2 is [Color]
...
Page 143 is [Color]
============
Statistics: bwPageCount=99, colorPageCount=44
Szybkie PDF Hrabia wspomniano w innej odpowiedzi tutaj wymaga instalacji (co do mojej pracy jednorazowej --- drukarskiej rozprawa) jest wadą. Jednak wykonuje również zadanie i zapewnia GUI. Po zainstalowaniu uruchom go, przeciągnij i upuść do niego plik PDF, zaznacz Color Pages Counting
Ustawienia / Opcje, a następnie kliknij Page count files in list
przycisk.
Co ciekawe, wyniki mojej pracy dyplomowej różnią się o 1 stronę (99/44 vs. 100/43). Wydaje mi się, że dzieje się tak, ponieważ jakaś postać (którą zrobiłem za pomocą Inkscape) jest w rzeczywistości czarno-biała, ale w metadanych jest opisana jako kolor. Nie jestem pewien. To, czego nie znalazłem w Rapid PDF Count, to lista wszystkich stron kolorowych / czarno-białych, więc nie mogę powiedzieć dokładnego źródła tej rozbieżności.