Seiten in einem PDF über die Kommandozeile zählen

1. Juni 2018 | Ca. 3 Minuten Lesedauer

Kürzlich stellte sich die Aufgabe, für eine große Zahl von PDF-Dateien jeweils die Seitenzahlen zu ermitteln. "Große Zahl" sind hier mehr als 3.500 Dateien gewesen und damit fiel "von Hand öffnen und reingucken" von Anfang an raus.

Relativ schnell war klar, dass sich auf meinem Rechner kein Tool mit GUI befindet, dass diese Aufgabe so übernehmen könnte. Dank der exzellenten Konsole bei Mac OS, da muss Windows wirklich aufholen, bieten sich aber auch andere Möglichkeiten.

Es sei vorweggenommen, dass mac OS standardmäßig ohne Package Manager wie apt oder ähnliches daherkommt. Ich habe deshalb Brew installiert und bin damit sehr zufrieden.

Über brew habe ich dann das großartige exiftool nachinstalliert, dazu genügt ein einfaches brew install exiftool. Wie der Name schon verrät ist das ein Werkzeug, um Meta-Informationen aus Dateien auszulesen. Dabei ist man nicht nur auf Bilder beschränkt, aus denen man üblicherweise EXIF-Daten kennt, auch PDF-Dateien lassen sich damit auslesen.

Nach etwas Einlesen in die Dokumentation von exiftool, lässt sich die gestellte Aufgabe relativ einfach bewältigen.

exiftool -T -r -filename -PageCount -s3 -ext pdf . > pages.txt

Mit diesem Aufruf werden die Seitenzahlen aus allen Dateien mit der Endung pdf (-ext pdf), rekursiv (-r) ausgehend vom aktuellen Verzeichnis, gelesen und tabellarisch (-T) ausgegeben. Die Ausgabe leiten wir allerdings direkt in die Datei pages.txt um, die sich als tabulatorgetrennte CSV-Datei von Excel oder Open Office prima öffnen lässt.

Photo by Igor Ovsyannykov on Unsplash