Compter les pages BW / couleur en PDF

23

J'ai un document PDF de 100 pages que je dois imprimer. Mon imprimeur doit savoir quelles pages contiennent de la couleur. Je ne veux pas numériser manuellement. Existe-t-il un programme qui détecte les pages en couleur et peut sortir le numéro de page?

Aucun
la source
1
Système opérateur?
frabjous

Réponses:

25

J'ai trouvé ceci sur 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

A bien fonctionné pour moi

Le nombre total de pages peut être trouvé par

pdfinfo input.pdf | grep Pages:
Ulrik
la source
Cet oneliner répond à la question "Existe-t-il un programme qui détecte les pages en couleur et peut sortir le numéro de page?" 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

Sous Linux (et probablement mac / autre Unix), le très court script BASH suivant semble faire l'affaire:

 #!/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

Nommez le script quelque chose comme coloredpages.sh, et rendez-le exécutable avec chmod +x coloredpages.shpuis exécutez ./coloredpages.sh "pdfname.pdf"et il devrait retourner une liste de numéros de page.

Cela nécessite l'installation d'ImageMagick et probablement de Ghostscript. Et ce n'est pas la chose la plus rapide au monde.

Désolé, je ne sais pas comment l'adapter pour Windows (sans Cygwin ou similaire, de toute façon).

frabjous
la source
Merci, je vais lui donner un coup de feu quand j'ai un Linux en cours d'exécution. Je peux trouver une meilleure imprimerie qui puisse le détecter.
Aucun
3

Ayant la même tâche que l'OP et travaillant sous Windows, j'ai trouvé la solution suivante pour fonctionner rapidement et bien: le SDK de compteur de pages de fichiers de spoule n'est pas gratuit mais la version d'évaluation fait toujours le travail. Téléchargez le fichier zip à partir du lien ci-dessus, dézippez-le et exécutez bin/C#_ParsingTest yourfile.pdf. Vous verrez quelque chose comme

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

Le nombre rapide de PDF mentionné dans une autre réponse ici nécessite une installation (ce qui pour mon travail ponctuel --- l'impression de la dissertation) est un inconvénient. Cependant, il fait également le travail et fournit une interface graphique. Après l'avoir installé, exécutez-le, glissez-déposez le fichier PDF dedans, vérifiez Color Pages Countingdans Configuration / Options, puis cliquez sur le Page count files in listbouton.

Fait intéressant, les résultats de ma thèse diffèrent d'une page (99/44 contre 100/43). Je crois que c'est parce qu'une figure (j'ai fait tout avec Inkscape) est en fait en noir et blanc mais est décrite comme couleur dans les métadonnées. Je ne suis pas sûr. Ce que je n'ai pas trouvé dans Rapid PDF Count est une liste de toutes les pages couleur / noir et blanc, donc je ne peux pas dire la source exacte de cet écart.

texnic
la source