12
votes

Nombre de pages dans un fichier PDF

Est-ce que quelqu'un sait comment je peux compter le nombre de pages dans un fichier PDF à l'aide de PHP? Merci!


0 commentaires

3 Réponses :


5
votes

PDFS Store Pages dans un arbre. Les objets "/ pages" peuvent avoir une entrée "/ parent" et "/ enfants", suivie d'un "/ Count". Vous ne pouvez pas résumer les entrées «/ Count» car un enfant peut être un autre noeud de pages. L'objet "/ page" est la feuille.

Ouvrez le fichier PDF sous forme de fichier texte et comptez le nombre de fois "/ page" (pas "/ pages") apparaît dans le fichier. Cela devrait être correct la plupart du temps.


1 commentaires

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



19
votes

Basé sur la réponse de R Ubben, j'ai trouvé le code PHP suivant pour donner de bons résultats: xxx

\ w correspond à n'importe quel caractère non alphanumérique et exclut les choses comme < code> / pages , / pageMode etc.


3 commentaires

J'apprécierais que vous puissiez élaborer sur le sens et le contenu attendu de la variable d '$ factice. Sinon, une bonne réponse! Merci.


Avant PHP version 5.4.0 Preg_Match_All devait être appelé avec trois paramètres et stockerait dans la troisième une matrice avec tous les matchs. Comme nous ne sommes intéressés que par le nombre de correspondances, nous n'utilisons pas ce paramètre factice et pour les versions PHP 5.4.0 et ultérieures, il peut être laissé de côté.


J'aimerais souligner qu'il y a des cas où cela ne fonctionne pas. Certains bâtisseurs PDF tiers n'incluent pas "page" dans leur structure d'octets. J'utilise ce code pendant des mois sans problème avant aujourd'hui quand il a été porté à mon attention. Dans ce cas, le bâtiment de la construction des PDF a été faite par les personnes à antenrahouse.com (non je ne le fais pas travailler là-bas, pas plus que j'avais entendu parler d'eux jusqu'à aujourd'hui)



0
votes
exec('pdftops ' . $filename . ' - | grep showpage | wc -l', $output);
See as well the similar question and answers:Count the number of pages in a PDF in only PHP

0 commentaires