2009-07-08 14 views

risposta

5

I PDF memorizzano le pagine su un albero. Gli oggetti "/ Pages" possono avere voci "/ Parent" e "/ Kids", seguite da un "/ Count". Non è possibile sommare le voci "/ Conteggio" perché un Kid potrebbe essere un altro nodo di Pages. L'oggetto "/ Page" è la foglia.

Aprire il pdf come file di testo e contare il numero di volte che "/ Page" (non "/ Pagine") appare nel file. Questo dovrebbe essere corretto per la maggior parte del tempo.

+0

Sì, questo è il metodo più semplice se non si intende utilizzare una libreria di terze parti. – Rowan

+0

Fantastico. Molto utile, grazie! –

19

Sulla base di risposta di R Ubben ho trovato il seguente codice PHP per dare buoni risultati:

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

\W Corrisponde ad ogni carattere non alfanumerico ed esclude le cose come /Pages, /PageMode ecc

+0

Funzione piacevole. Grazie uomo. – dsplatonov

+0

Grazie amico, davvero utile. – cyberfly

+0

Apprezzerei se potessi approfondire il significato e il contenuto previsto della variabile $ dummy. Altrimenti, un'ottima risposta! Grazie. –

Problemi correlati