web-dev-qa-db-fra.com

Obtenir le nombre de mots d'un document pdf dans Evince

Existe-t-il un moyen d'obtenir le nombre de mots d'un document PDF que je consulte dans Evince, la visionneuse pdf par défaut d'Ubuntu? Je suis capable de convertir les documents en fichiers texte et d'obtenir le nombre de mots du terminal, mais j'aimerais bien pouvoir les obtenir rapidement sans avoir à utiliser le terminal. Y at-il un plugin qui peut faire cela, ou est-il déjà intégré et il me manque juste?

P.S. Je préférerais ne pas changer de lecteur car Evince est le lecteur par défaut PDF sous Ubuntu, et j'aimerais plutôt utiliser le plus possible les applications par défaut, car beaucoup d'entre elles, y compris Evince, sont vraiment gentils.

21
user2405

Une réponse d'Olaf Leidinger sur la liste de diffusion Evince:

Je pense qu'une telle fonctionnalité convient mieux aux éditeurs de documents, car ils disposent de plus d'informations sur le document en tant que visualiseur simple et que le décompte des mots est trivial. Prenons un fichier PDF à titre d'exemple. Ce que vous voyez sous forme de texte peut en réalité être une sorte de forme graphique vectorielle. Même si le texte est contenu en tant que tel dans le fichier PDF, les mots que vous voyez peuvent se composer de plusieurs commandes "dessiner du texte à la position (y, x)", par exemple. en cas de trémas ou de fin de ligne. Ainsi, un seul mot peut compter comme plusieurs mots. Par conséquent, je pense qu’il pourrait être difficile d’implémenter une telle fonctionnalité de manière fiable. Regardez pdftotext pour voir ce que je veux dire.
10
user2405

Vous pouvez le faire via la ligne de commande:

pdftotext filename.pdf - | tr -d '.' | wc -w
29
Sid

Que diriez-vous d'un script bash rapide nécessitant zenity et évincer. Appelé sans argument, il vous donnera une boîte de dialogue vous permettant de choisir un fichier. Lorsqu'il est appelé avec un argument (ou après ladite boîte de dialogue), il ouvre le fichier en évidence et vous donne une boîte de dialogue avec un nombre de mots.

En d’autres termes, copiez le texte suivant dans un fichier texte, appelé evince-Word-count.sh ou quelque chose de ce genre, enregistrez-le quelque part dans votre chemin (par exemple, ~/bin/), rendez-le exécutable (via le clic droit et les propriétés de Nautilus ou avec chmod +x ~/bin/evince-Word-count.sh),

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0

Maintenant, faites un clic droit sur certains sur PDF dans nautilus, choisissez "Ouvrir avec ...", puis ouvrez-le avec evince-Word-count.sh. Désormais, lorsque vous ouvrez un fichier PDF, il s’ouvre à la fois et vous donne un compte Word.

alt text

9
frabjous

Je ne crois pas que ce soit possible (enfin, techniquement, mais n’a pas encore été mis en œuvre).

Vous devez vous rappeler que Evince est un visualiseur de documents et le décompte des mots est une fonctionnalité généralement requise dans un éditeur (oui je sais que ce n'est pas toujours le cas).

Vous voudrez peut-être contacter les développeurs Evince et leur demander s’ils seraient intéressés à implémenter cette fonctionnalité.

4
8128