Policz strony czarno-białe / kolorowe w formacie PDF

23

Mam 100-stronicowy dokument PDF, który muszę wydrukować. Mojemu drukarni należy poinformować, które strony zawierają kolory. Nie chcę skanować ręcznie. Czy istnieje program, który wykrywa strony w kolorze i może wypisać numer strony?

Żaden
źródło
1
System operacyjny?
frabjous

Odpowiedzi:

25

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:
Ulrik
źródło
Ten oneliner odpowiada na pytanie „Czy istnieje program, który wykrywa strony w kolorze i może wypisać numer strony?” 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'
Fredrik Erlandsson
8

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.shnastę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).

frabjous
źródło
Dzięki, dam temu szansę, kiedy będę miał Linuksa. Mogę znaleźć lepszą drukarnię, która może to wykryć.
Brak,
3

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 CountingUstawienia / Opcje, a następnie kliknij Page count files in listprzycisk.

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.

tekstylny
źródło