82 votes

Compter le nombre de mots dans un fichier PDF

Comment puis-je obtenir le nombre de mots d'un fichier PDF? Je pense que la plupart des fichiers PDF pour lesquels je veux obtenir le nombre total de mots ont une couche de texte intégrée, donc je n'ai pas besoin de OCR.

La tâche a été soulevée lors de la recherche de certains articles scientifiques de taille connue, par exemple 15000 mots. La plupart des articles modernes sont publiés au format PDF.

113voto

Metaxal Points 353

Réponse rapide :

pdftotext myfile.pdf - | wc -w

Réponse longue :

Si vous êtes sur Unix, vous pouvez utiliser pdftotext :

puis faire le compte des mots dans le fichier généré. Si vous êtes sur Unix, vous pouvez utiliser :

wc -w converted-pdf.txt

pour obtenir le compte des mots.

Voir aussi le commentaire de frabjous - en gros, vous pouvez le faire en une seule étape en redirigeant vers stdout au lieu d'un fichier temporaire :

pdftotext myfile.pdf - | wc -w

15voto

math Points 2507

Ceci est une tâche difficile et pas facile à résoudre. Si vous voulez vraiment un résultat exact, copiez paragraphe par paragraphe dans votre visualiseur de PDF dans un fichier texte et vérifiez-le avec l'outil wc -w. La raison pour ne pas utiliser pdftotext dans ce cas est que les formules mathématiques peuvent également figurer dans la sortie et être considérées comme des "mots". (Alternativement, vous pourriez modifier la sortie que vous obtenez de pdftotext). Une autre raison pour laquelle cela pourrait échouer sont les titres : "4.3.2 Foo Bar" est compté comme trois mots.

Une solution consiste à ne compter que les mots commençant par un caractère de [A-Za-z]. Donc ce que je fais habituellement est une approche en deux étapes :

  1. obtenez la liste des mots uniques et vérifiez s'il y a trop de faux positifs à l'intérieur :

    pdftotext foo.pdf - | tr " " "\n" | sort | uniq | grep "^[A-Za-z]" > words

    Je n'utilise pas de dictionnaire ici, car certaines fautes d'orthographe ne compteraient pas comme des mots.

  2. Obtenez cette liste de mots et recherchez-la dans la sortie de pdftotext :

    pdftotext foo.pdf - | tr " " "\n" | grep -Ff words | wc -l

Je sais que cela pourrait être fait en une seule ligne, mais alors je ne pourrais pas voir facilement le résultat du filtre de la première étape. Le -F peut vous aider comme indiqué dans le commentaire de moi ci-dessous (merci).

10voto

zuba Points 2253

J'ai simplement essayé un programme gratuit, Translator's Abacus. Vous pouvez faire glisser et déposer différents types de fichiers (y compris des PDF), et il ouvre un navigateur avec un rapport imprimable du nombre de mots pour chaque document. Ça a bien fonctionné pour moi. (Il est spécifiquement créé pour les comptages de mots et son poids est seulement de 435 Ko... c'est-à-dire, pas une "grosse application"). Translator's Abacus ne fonctionne pas sur les PDF 1.5 ou plus récents.

Alternativement : vous pouvez simplement Ctrl+A pour sélectionner tout le texte dans Acrobat Reader puis copier-coller dans un programme comme Microsoft Word (qui affiche un compteur de mots dans la barre d'état en bas de l'écran).

2voto

Bruce Crawford Points 121

Une façon simple de faire cela si vous utilisez Acrobat Pro est d'exporter le PDF vers un document Microsoft Word puis de compter les mots dans Word. Sinon, vous pouvez l'exporter vers un fichier texte brut et utiliser un utilitaire de comptage de mots dans l'éditeur de texte de votre choix. Je viens de faire un décompte de mots sur un article pdf en utilisant la méthode Word et cela m'a pris seulement 30 secondes pour terminer.

J'espère que cela vous aidera.

2voto

s.ouchene Points 150

Sous Windows, à partir de Microsoft Office 2013, vous pouvez ouvrir un fichier PDF dans MS Word. Voici un exemple d'un fichier PDF que j'ai ouvert dans MS Word 2016 :

description de l'image ici

Une fois ouvert, vous pouvez voir le nombre de mots en bas à gauche de la barre d'état de MS Word.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X