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.

pdf  evince 

Antworten:


31

Sie können dies über die Befehlszeile tun:

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

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


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.

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.