Abrufen der Wortanzahl eines PDF-Dokuments in Evince

22

Gibt es eine Möglichkeit, die Wortzahl eines PDF-Dokuments zu ermitteln, das ich in Evince, Ubuntus Standard-PDF-Viewer, ansehe? Ich kann die Dokumente in Textdateien konvertieren und die Wortanzahl vom Terminal abrufen, möchte sie jedoch schnell erreichen, ohne das Terminal verwenden zu müssen. Gibt es ein Plugin, das das kann, oder ist es bereits eingebaut und ich vermisse es einfach?

PS Ich würde es vorziehen, meinen Viewer nicht zu ändern, da Evince der Standard-PDF-Viewer in Ubuntu ist, und ich würde gerne so viel wie möglich mit den Standardanwendungen machen, da viele von ihnen, einschließlich Evince, wirklich nett sind.


quelle

Antworten:

31

Sie können dies über die Befehlszeile tun:

pdftotext filename.pdf - | tr -d '.' | wc -w
Sid
quelle
Vielen Dank, aber wie ich in der Frage sagte, möchte ich lieber nicht die Befehlszeile für solche Dinge verwenden.
4
@Chris Versuchen Sie dann, das System ("<command above>") in den evince-Code zu integrieren.
Gödel
11

Wie wäre es mit einem schnellen Bash-Skript, das Klarheit und Beweiskraft erfordert . Wenn es ohne Argument aufgerufen wird, wird ein Dialogfeld angezeigt, in dem Sie eine Datei auswählen können. Bei Aufruf mit einem Argument (oder nach diesem Dialogfeld) wird sowohl die Datei geöffnet als auch ein Dialogfeld mit einer Wortanzahl angezeigt.

Mit anderen Worten, kopieren Sie Folgendes in eine Textdatei namens evince-word-count.shoder so, speichern Sie sie irgendwo in Ihrem Pfad (z. B. ~/bin/) und machen Sie sie ausführbar (entweder über Nautilus 'Rechtsklick und Eigenschaften oder mit 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

Klicken Sie nun mit der rechten Maustaste auf ein PDF in Nautilus, wählen Sie "Öffnen mit ..." und lassen Sie es dann mit evince-word-count.sh öffnen. Wenn Sie jetzt eine PDF-Datei öffnen, werden beide geöffnet, und Sie erhalten eine Wortzählung.

Alt-Text

schäbig
quelle
Sie können diese Datei in /home/$USER/.local/share/nautilus/scripts/ ablegen, wodurch sie über einen Rechtsklick in Nautilus (Ubuntu Vanilla-Dateimanager) verfügbar wird.
Daniel Holm
10

Eine Antwort von Olaf Leidinger auf die Evince-Mailingliste:

Ich denke, eine solche Funktion ist besser für Dokumenteditoren geeignet, da sie als einfacher Betrachter mehr Informationen über das Dokument haben und das Zählen von Wörtern trivial ist. Nehmen Sie eine PDF-Datei als Beispiel. Was Sie als Text sehen, könnte tatsächlich eine Art Vektorgrafikform sein. Auch wenn der Text als solcher in der PDF-Datei enthalten ist, können die angezeigten Wörter aus mehreren "Text an Position (y, x) zeichnen" -Befehlen bestehen - z. B. bei Umlauten oder Zeilenende. So kann ein einzelnes Wort als mehrere Wörter zählen. Daher denke ich, dass es schwierig sein könnte, eine solche Funktion zuverlässig zu implementieren. Schauen Sie sich pdftotext an, um zu sehen, was ich meine.

quelle
2
Jede Datei, die zum Definieren des Dokuments verwendet wird, kann als "Quellcode" betrachtet werden, und Evince ist die Maschine, die den Code ausführt. Es ist unfair (und unmöglich), den Quellcode-Editor (z. B. einen Texteditor) zu bitten, die Ausgabe der Ausführung zu bestimmen. Schauen wir uns also nur die Ausgabe an (dh das gerenderte Bild / den gerenderten Text in Evince / poppler). Die Implementierung in Evince wäre nützlich für mich, da ich meine Artikel in einem sprachunabhängigen Texteditor "codiere" und Evince (über Pandoc und pdflatex) verwende, um meine Quelle "auszuführen". Nur am Ende können wir sicher sein, was es geschafft hat. Betrachten Sie kommentierten Code.
User29020
4

Ich glaube nicht, dass das möglich ist (nun, es ist technisch möglich, wurde aber nicht implementiert).

Sie müssen bedenken , Evince ist ein Dokument - Viewer und eine Wortzahl ist eine Funktion mehr in der Regel in einem erforderlichen Editor (ja , ich weiß , dass dies nicht immer der Fall ist).

Sie können sich an die Evince-Entwickler wenden und sie fragen, ob sie Interesse an der Implementierung dieser Funktion haben.

8128
quelle
1
Vielen Dank. Ich habe sie kontaktiert und ich werde die Frage offen halten, bis ich eine endgültige Antwort bekomme.
Wenn Sie zurückhören, können Sie Ihre eigene Frage effektiv beantworten :)
8128
Evince ist nicht ausschließlich ein "Betrachter". Das Erstellen und Anzeigen und Bearbeiten eines Dokuments ist eindeutig ein umfangreicher Workflow als nur "Bearbeiten" und dann "Anzeigen". Zu der Frage: Evince erlaubt derzeit das Kopieren von ausgewählten Texten. Das ist nicht unbedingt eine "Sicht" -Rolle. Evince ist in einer großartigen Position, um die resultierende Wortzahl herauszufinden, da es der endgültige "Renderer" dessen ist, was wir tatsächlich gelesen (oder an den Verlag gesendet) haben. Es gibt bereits eine Möglichkeit, gerenderte ganze Wörter zu identifizieren (versuchen Sie es mit einem Doppelklick auf ein Wort!). Ich würde es begrüßen, wenn Evince dies im Feld "Datei-> Eigenschaften" bereitstellen würde. Es sagt mir bereits die Seitenzahl (basierend auf dem Rendern).
User29020