2009-07-08 7 views

Répondre

5

Les fichiers PDF stockent des pages dans un arbre. Les objets "/ Pages" peuvent avoir des entrées "/ Parent" et "/ Kids", suivies d'un "/ Count". Vous ne pouvez pas additionner les entrées "/ Count" car un Kid peut être un autre nœud Pages. L'objet "/ Page" est la feuille.

Ouvrez le fichier PDF en tant que fichier texte et comptez le nombre de fois où "/ Page" (pas "/ Pages") apparaît dans le fichier. Cela devrait être correct la plupart du temps.

+0

Oui, c'est la méthode la plus simple si vous n'allez pas utiliser une bibliothèque tierce. – Rowan

+0

Génial. Très utile, merci! –

19

Sur la base de la réponse de R Ubben Je trouve le code PHP ci-dessous pour donner de bons résultats:

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

\W correspond à tout caractère non alphanumérique et exclut des choses comme /Pages, /PageMode etc.

+0

Belle fonction. Merci mec. – dsplatonov

+0

Merci l'homme, vraiment utile. – cyberfly

+0

J'apprécierais que vous puissiez préciser la signification et le contenu attendu de la variable fictive $. Sinon, une bonne réponse! Je vous remercie. –

Questions connexes