2009-07-08 6 views

Antwort

5

PDFs speichern Seiten in einem Baum. "/ Pages" -Objekte können einen "/ Parent" und "/ Kids" Einträge haben, gefolgt von einem "/ Count". Sie können die "/ Count" -Einträge nicht summieren, da ein Kid ein anderer Pages-Knoten sein könnte. Das Objekt "/ Page" ist das Blatt.

Öffnen Sie die PDF-Datei als Textdatei und zählen Sie, wie oft "/ Page" (nicht "/ Pages") in der Datei angezeigt wird. Das sollte die meiste Zeit korrekt sein.

+0

Ja, das ist die einfachste Methode, wenn Sie keine Bibliothek von Drittanbietern verwenden. – Rowan

+0

Ehrfürchtig. Sehr hilfreich, danke! –

19

Basierend auf R Ubben Antwort fand ich den Code folgende PHP gute Ergebnisse zu geben:

function count_pages($pdfname) { 
    $pdftext = file_get_contents($pdfname); 
    $num = preg_match_all("/\/Page\W/", $pdftext, $dummy); 
    return $num; 
} 

\W Matches jede nicht-alphanumerischen Zeichen und schließt Dinge wie /Pages, /PageMode usw.

+0

Schöne Funktion. Danke, Mann. – dsplatonov

+0

Danke Mann, wirklich hilfreich. – cyberfly

+0

Ich würde mich freuen, wenn Sie die Bedeutung und den erwarteten Inhalt der Variablen $ dummy näher erläutern könnten. Ansonsten eine tolle Antwort! Vielen Dank. –

Verwandte Themen