Zählen Sie BW / Farbseiten in PDF


23

Ich habe ein 100-seitiges PDF-Dokument, das ich drucken muss. Meiner Druckerei muss mitgeteilt werden, welche Seiten Farbe enthalten. Ich möchte nicht manuell scannen. Gibt es ein Programm, das Seiten mit Farbe erkennt und die Seitenzahl ausgeben kann?


1
Betriebssystem?
Frabjous

Antworten:


25

Dies finden Sie unter 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

Hat bei mir gut funktioniert

Die Gesamtseitenzahl kann mit ermittelt werden

pdfinfo input.pdf | grep Pages:

Dieser Oneliner beantwortet die Frage "Gibt es ein Programm, das Seiten mit Farbe erkennt und die Seitenzahl ausgeben kann?" 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

Unter Linux (und wahrscheinlich unter Mac / Unix) scheint das folgende sehr kurze BASH-Skript zu funktionieren:

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

Benennen Sie das Skript so ähnlich wie coloredpages.sh, und machen Sie es ausführbar mit chmod +x coloredpages.shund führen Sie ./coloredpages.sh "pdfname.pdf"es dann aus. Es sollte eine Liste mit Seitenzahlen zurückgeben.

Hierfür müssen ImageMagick und wahrscheinlich Ghostscript installiert sein. Und es ist nicht die schnellste Sache der Welt.

Entschuldigung, ich habe keine Ahnung, wie ich das für Windows anpassen soll (jedenfalls ohne Cygwin oder ähnliches).


Danke, ich werde es versuchen, wenn Linux läuft. Möglicherweise finde ich eine bessere Druckerei, die dies erkennt.
Keine

3

Ich habe die gleiche Aufgabe wie das OP und arbeite unter Windows. Daher habe ich festgestellt, dass die folgende Lösung schnell und problemlos funktioniert: Spooldatei-Seitenzähler SDK ist nicht kostenlos, aber die Evaluierungsversion erledigt den Job immer noch. Laden Sie die Zip-Datei über den obigen Link herunter, entpacken Sie sie und führen Sie sie aus bin/C#_ParsingTest yourfile.pdf. Du wirst so etwas sehen

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

Die in einer anderen Antwort erwähnte schnelle PDF-Zählung erfordert eine Installation (was für meinen einmaligen Job - das Drucken von Dissertationen - ein Nachteil ist). Es erledigt jedoch auch die Arbeit und bietet eine GUI. Führen Sie es nach der Installation aus, ziehen Sie die PDF-Datei per Drag-and-Drop hinein, überprüfen Sie Setup / Optionen und klicken Sie dann auf die Schaltfläche.Color Pages CountingPage count files in list

Interessanterweise unterscheiden sich die Ergebnisse meiner Dissertation um 1 Seite (99/44 vs. 100/43). Ich glaube, das liegt daran, dass eine Figur (ich habe sie alle mit Inkscape erstellt) eigentlich schwarzweiß ist, aber in Metadaten als Farbe beschrieben wird. Ich bin mir nicht sicher. Was ich in Rapid PDF Count nicht gefunden habe, ist eine Liste aller Farb- / Schwarzweißseiten, daher kann ich die genaue Ursache dieser Diskrepanz nicht nennen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.