Compter le nombre de mots dans un fichier PDF


66

Comment puis-je obtenir le nombre de mots d'un fichier PDF? Je pense que la plupart des fichiers pdf pour lesquels je souhaite obtenir le nombre total de mots ont un calque de texte intégré, ce qui fait que je n'ai pas besoin d'OCR.

La tâche a été lancée en recherchant des articles scientifiques de taille connue, par exemple 15 000 mots. La plupart des articles de moders sont publiés au format pdf

Réponses:


90

Réponse rapide:

pdftotext myfile.pdf - | wc -w

Longue réponse:

Si vous utilisez Unix, vous pouvez utiliser pdftotext:

puis faites le nombre de mots dans le fichier généré. Si vous utilisez Unix, vous pouvez utiliser:

wc -w converted-pdf.txt

pour obtenir le nombre de mots.

Voir aussi le commentaire de frabjous - en gros, vous pouvez le faire en une étape en dirigeant stdoutvers un fichier temporaire:

pdftotext myfile.pdf - | wc -w

10
C'est pdftotext: n'oublie pas le e. Et vous pouvez utiliser une seule commande: pdftotext myfile.pdf - | wc -w.
frabjous

1
@frabjous Merci, a mis à jour la réponse avec les suggestions!
icyrock.com

Il est à noter que cela pdftotextfait partie de Xpdf qui est également disponible pour la plate-forme Windows. La page de téléchargement Xpdf se trouve ici: foolabs.com/xpdf/download.html . wcpeuvent également être trouvés, mais on peut aussi utiliser à peu près n'importe quel traitement de texte comme Word ou LibreOffice Writer. Ils comptent aussi les mots. (Pour LibreOffice Writer, allez dans Fichier -> Propriétés -> Statistiques)
vendredi

13

C'est une tâche difficile, pas facile à résoudre. Si vous voulez vraiment un résultat exact, copiez paragraphe par paragraphe pour votre visionneuse PDF dans un fichier texte et vérifiez-le à l' wc -waide de l' outil. La raison pour laquelle il ne faut pas utiliser pdftotextdans ce cas est la suivante: les formules mathématiques peuvent également entrer dans la sortie et être considérées comme des "mots". (Vous pouvez également éditer le résultat que vous obtenez pdftotext). Les en-têtes sont une autre raison de son échec: "4.3.2 Foo Bar" est compté pour trois mots.

Une solution consiste uniquement à compter 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. obtenir la liste des mots uniq et vérifier 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 seraient pas considérées comme des mots.

  2. Récupérez cette liste de mots et collez-la dans la sortie de pdftotext:

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

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


1
Je devais utiliser grep -Ff words, parce que grep se plaint de "Unmatched [or [^"]. A partir de la page de manuel: `` `-F, --fixed-strings Interprétez PATTERN en tant que liste de chaînes fixes, séparées par des nouvelles lignes, dont chacune doit correspondre. (-F est spécifié par POSIX.) `` `
moi

10

Je viens d'essayer un programme gratuit, Translator's Abacus . Vous pouvez glisser-déposer divers types de fichiers (y compris PDF) et un navigateur contenant un rapport imprimable indiquant le nombre de mots de chaque document s'affiche. Cela a bien fonctionné pour moi. (Il est spécifiquement créé pour le nombre de mots et ne pèse que 435 ko ... ce n'est pas une "grosse application"). Abacus du traducteur ne fonctionne pas sur PDF 1.5 ou version ultérieure.

Vous pouvez également Ctrl+ Asélectionner tout le texte dans Acrobat Reader, puis le copier-coller dans un programme tel que Microsoft Word (qui contient un nombre de mots dans la barre d'état au bas de l'écran).


Dans les PDF (nombreux?), Crl + A ne sélectionne que les mots de la page en cours, pas le document entier. L'abaque du traducteur fonctionne parfaitement, génial!
Junuxx

3
Correction, Abacus du traducteur ne fonctionne pas sur PDF 1.5 ou version ultérieure.
Junuxx

+1 Ctrl + A dans Adobe Reader avec WinMerge fonctionnent parfaitement sous Windows!
superjos

2

Une façon simple de procéder si vous utilisez Acrobat Pro consiste à exporter le fichier PDF vers un document Microsoft Word, puis à compter le nombre de mots dans Word. Vous pouvez également l'exporter dans un fichier texte brut et utiliser un utilitaire de décompte de mots dans l'éditeur de texte de votre choix /. Je viens de compter un mot sur un article pdf en utilisant la méthode Word et cela a pris 30 secondes.

J'espère que cela t'aides.


J'ai converti en texte et ai fait wc -w nomfichier.txt. Ça a marché. Merci.
vijayst

1

Vous pouvez installer OCRFeeder . Dans celui-ci, choisissez Fichier-> Importer PDF-> Détecter et reconnaître automatiquement toutes les pages-> Exporter vers ODT et le document FreeOffice écrivain sera prêt pour le nombre de mots ou toute autre fonction RTF que vous souhaitez utiliser.



0

Vous pouvez utiliser le code JavaScript de la console d'Adobe Acrobat avec le code suivant, que j'ai tiré de la réponse de Dave Merchant sur forums.adobe.com :

var cnt=0;
for (var p = 0; p < this.numPages; p++) cnt += getPageNumWords(p);
console.println("There are " + cnt + " words in this file.");

Testé avec Adobe Acrobat Pro DC 2018.011.20040 sur Windows 7 SP1 x64 Ultimate.


Pour activer la console JavaScript:

entrez la description de l'image ici

Pour lancer la fenêtre de la console JavaScript:

CTRL + J

entrez la description de l'image ici

Pour votre information, si la source LaTeX correspond au PDF: nombre de mots correct d'un document LaTeX .


-1

Le standard de facto utilisé par les traducteurs depuis l’an 2000 environ est AnyCount Word Count Tool. Il compte le nombre de mots au format PDF et dans 37 autres formats.


Vladimir, y a-t-il des références de tiers (mentions dans des livres, des journaux, des revues spécialisées, des analyses de marché) selon lesquelles anycount est largement utilisé sur les marchés de la numération et de la traduction? J'aime books.google.com/…
osgx

-3

Ctrl+ Shift+ Fentrez la recherche avancée tapez le mot et il comptera combien de fois il est dans la doc. Ce n'est pas sorcier.


9
Je pense que vous avez mal compris la question ... Le "nombre de mots" se réfère normalement au nombre total de mots dans un document, plutôt qu'au nombre d'un mot spécifique ... et aussi, je pense qu'il serait préférable que vous soyez pour spécifier le programme dont vous parlez - tous les lecteurs PDF n'ont pas les mêmes fonctions ou n'utilisent pas les mêmes raccourcis clavier.
Evilsoup

Vous n'avez peut-être pas répondu à la réponse des PO mais votre message m'a certainement aidé. Merci. : D
mahela007
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.