Zählen Sie die Anzahl der Wörter in einer PDF-Datei


66

Wie kann ich die Wortzahl einer PDF-Datei ermitteln? Ich denke, dass die meisten PDF-Dateien, für die ich die Gesamtwortzahl erhalten möchte, eine eingebettete Textebene haben, sodass ich keine OCR benötige.

Die Aufgabe ergab sich aus der Suche nach wissenschaftlichen Arbeiten bekannter Größe, z. B. 15000 Wörtern. Die meisten Moders Papers werden im PDF-Format veröffentlicht

Antworten:


90

Schnelle Antwort:

pdftotext myfile.pdf - | wc -w

Lange Antwort:

Unter Unix können Sie Folgendes verwenden pdftotext:

und dann machen Sie die Wortzählung in der generierten Datei. Unter Unix können Sie Folgendes verwenden:

wc -w converted-pdf.txt

um die Wortzahl zu bekommen.

Sehen Sie sich auch den Kommentar von frabjous an - im Grunde können Sie dies in einem Schritt tun, indem Sie stdoutstattdessen an eine temporäre Datei leiten :

pdftotext myfile.pdf - | wc -w

10
Es ist pdftotext: Vergiss das e nicht. Und Sie können mit einem einzigen Befehl verwenden: pdftotext myfile.pdf - | wc -w.
Frabjous

1
@frabjous Danke, aktualisiert die Antwort mit den Vorschlägen!
icyrock.com

Es ist erwähnenswert, dass pdftotextes sich um einen Teil von Xpdf handelt, der auch für die Windows-Plattform verfügbar ist. Die Xpdf-Downloadseite befindet sich hier: foolabs.com/xpdf/download.html . wckann auch gefunden werden, aber alternativ kann man so ziemlich jedes Textverarbeitungsprogramm wie Word oder LibreOffice Writer verwenden. Sie zählen auch Wörter. (Für LibreOffice Writer gehen Sie zu Datei -> Eigenschaften -> Statistik)
amenthes

13

Dies ist eine schwierige Aufgabe, die nicht einfach zu lösen ist. Wenn Sie wirklich ein genaues Ergebnis wünschen, kopieren Sie Absatz für Absatz für Ihren PDF-Viewer in eine Textdatei und überprüfen Sie diese mit dem wc -wTool. Der Grund, warum man pdftotextin diesem Fall nicht verwendet , ist: Mathematische Formeln können auch in die Ausgabe gelangen und als "Wörter" betrachtet werden. (Alternativ können Sie die Ausgabe bearbeiten, von der Sie erhalten pdftotext). Ein weiterer Grund, warum dies fehlschlagen kann, sind die Überschriften: "4.3.2 Foo Bar" wird als drei Wörter gezählt.

Ein Ausweg besteht darin, nur Wörter zu zählen, die mit einem Buchstaben aus [A-Za-z] beginnen. Normalerweise mache ich einen zweistufigen Ansatz:

  1. Holen Sie sich die Liste der eindeutigen Wörter und prüfen Sie, ob zu viele falsche Positive enthalten sind:

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

    Ich verwende hier kein Wörterbuch, da einige Rechtschreibfehler nicht als Wörter gelten.

  2. Holen Sie sich diese Wortliste und schreiben Sie sie in die Ausgabe von pdftotext:

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

Ich weiß, dass dies innerhalb eines Einzeilers möglich ist, aber dann konnte ich das Filterergebnis des ersten Schritts nicht leicht erkennen. Das -Fkann dir helfen wie im Kommentar von moi unten angegeben (danke).


1
Ich musste verwenden grep -Ff words, weil sich grep über "Unmatched [or [^" beschwert. Auf der Manpage: `` `-F, --fixed-strings Interpretieren Sie PATTERN als eine Liste fester Zeichenfolgen, die durch Zeilenumbrüche getrennt sind und mit denen übereinstimmen sollen. (-F wird von POSIX angegeben.) `` `
moi

10

Ich habe gerade ein kostenloses Programm, Translator's Abacus, ausprobiert . Sie können verschiedene Dateitypen (einschließlich PDF) ziehen und ablegen. Ein Browser mit einem druckbaren Bericht über die Wortanzahl für jedes Dokument wird geöffnet. Es hat gut funktioniert für mich. (Es ist speziell für die Anzahl der Wörter erstellt und ist nur 435 KB ... das heißt, keine "große Anwendung"). Translator's Abacus funktioniert nicht mit PDF 1.5 oder höher.

Alternativ : Sie können einfach Ctrl+ Aden gesamten Text in Acrobat Reader auswählen und ihn dann in ein Programm wie Microsoft Word kopieren (das in der Statusleiste am unteren Bildschirmrand eine Wortanzahl hat).


In (vielen?) PDFs werden mit Strg + A nur die Wörter auf der aktuellen Seite ausgewählt, nicht das gesamte Dokument. Der Abakus des Übersetzers funktioniert perfekt, großartig!
Junuxx

3
Korrektur: Translator's Abacus funktioniert nicht mit PDF 1.5 oder höher.
Junuxx

+ 1 Strg + A in Adobe Reader zusammen mit WinMerge funktionieren hervorragend unter Windows!
Superjos

2

Wenn Sie Acrobat Pro verwenden, können Sie die PDF-Datei auf einfache Weise in ein Microsoft Word-Dokument exportieren und anschließend die Wortzählung in Word durchführen. Alternativ können Sie es in eine Nur-Text-Datei exportieren und ein Word Count-Dienstprogramm im Texteditor Ihrer Wahl verwenden. Ich habe gerade eine Wortzählung für einen PDF-Artikel mit der Word-Methode durchgeführt und es dauerte 30 Sekunden, bis er fertig war.

Hoffe das hilft.


Ich konvertierte in Text und tat wc-w filename.txt. Es funktionierte. Vielen Dank.
Vijayst

1

Sie können OCRFeeder installieren . Wählen Sie darin Datei-> PDF importieren-> Alle Seiten automatisch erkennen und erkennen-> In ODT exportieren und libreoffice writer-Dokument ist bereit für die Wortzählung oder jede andere RTF-Funktion, die Sie verwenden möchten.



0

Sie können das JavaScript der Adobe Acrobat-Konsole mit dem folgenden Code verwenden, den ich aus der Antwort von Dave Merchant auf forums.adobe.com entnommen habe :

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

Getestet mit Adobe Acrobat Pro DC 2018.011.20040 unter Windows 7 SP1 x64 Ultimate.


So aktivieren Sie die JavaScript-Konsole:

Bildbeschreibung hier eingeben

So starten Sie das JavaScript-Konsolenfenster:

CTRL + J

Bildbeschreibung hier eingeben

Zu Ihrer Information, wenn Sie die LaTeX-Quelle haben, die der PDF entspricht: Korrigieren Sie die Wortanzahl eines LaTeX-Dokuments .


-1

De facto Standard, den Übersetzer seit etwa 2000 verwenden, ist AnyCount Word Count Tool. Es zählt Wörter in PDF und 37 anderen Formaten.


Vladimir, gibt es Referenzen von Drittanbietern (Erwähnungen in Büchern, Zeitungen, Journalen, Marktübersichten), die auf den Märkten für Wortzählung und Übersetzung häufig verwendet werden? Gefällt
mir

-3

Ctrl+ Shift+ FGeben Sie die erweiterte Suche ein. Geben Sie das Wort ein und es wird gezählt, wie oft es im Dokument enthalten ist. Es ist keine Raketenwissenschaft.


9
Ich glaube, Sie haben die Frage falsch verstanden ... "Wortanzahl" bezieht sich normalerweise auf die Gesamtzahl der Wörter in einem Dokument und nicht auf die Anzahl eines bestimmten Wortes ... und ich denke, es wäre besser, wenn Sie es wären um anzugeben, um welches Programm es sich handelt - nicht alle PDF-Reader verfügen über dieselben Funktionen oder verwenden dieselben Tastaturkürzel.
Evilsoup

Möglicherweise haben Sie die Antwort des OP nicht beantwortet, aber Ihr Beitrag hat mir sicherlich geholfen. Vielen Dank. : D
mahela007
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.