Wie extrahiere ich den Text aus MS Office-Dokumenten unter Linux?

17

Ich brauche eine Möglichkeit, den Text aus allen MS Office-Dokumenttypen (Word, Excel, Powerpoint) unter Linux zu extrahieren. Ich stelle mir vor, dass es mehrere verschiedene Ansätze gibt, um dies zu erreichen, wie z. B. ein Bash- oder Python-Skript oder die Konvertierung in PDF und das anschließende Extrahieren des Texts mit einem Tool wie pdftotext.

Dies scheint eine alltägliche Anforderung zu sein. Gibt es ein etabliertes Verfahren oder Werkzeug, um dies einfach zu erreichen?

Phyo Arkar Lwin
quelle

Antworten:

16

Catdoc kann doc, xls & ppt in text konvertieren. Die zweite Option wäre wvWare .

Weitere utils check check http://www.linux.com/archive/articles/52385 auf Text coverters für Wort und

nahar
quelle
Catdoc! Das ist das, wonach ich suche! Funktioniert es auch für ODF?
Phyo Arkar Lwin
Einfach gegoogelt und stosberg.net/odt2txt bekommen . Ich habe es nie ausprobiert, es scheint, als ob es den Job macht.
Nahar
Cool, danke. catdoc ist ok, aber es kann nicht konvertieren xls, ppt zu testen, ich benutze xls2csv und Apache-Tika für sie. Schau sie dir an!
Phyo Arkar Lwin
@nahar, odt2txt funktioniert nur im odt-Format, nicht im ms doc.
Allen
1
Klasse, Catdoc gibt mir Segmentierungsfehler
Fotanus
8

Endlich habe ich das perfekte Tool zum Parsen von Skripten gefunden. Es ist Apache-Tika und kann unzählige Nicht-Text-Formate in Text umwandeln, was sehr cool ist!

Holen Sie sich Apache Tika hier:

http://tika.apache.org/

(Mac Homebrew Benutzer: brew install tika)

Die Befehlszeilenschnittstelle funktioniert folgendermaßen:

tika --text something.docx > something.txt

Phyo Arkar Lwin
quelle
+1: Apache Tika ist ein seriöses Open Source-Projekt, funktioniert auch unter Windows, funktioniert über die Befehlszeile, hat eine GUI mit Drag & Drop, öffnet alles (Word, Excel, PowerPoint, PDF, SVG), extrahiert die Metadaten von das Dokument auch. Nachdem ich die meisten der oben genannten Tools ausprobiert habe, habe ich nach Apache Tika gesucht. Dies sollte die akzeptierte Antwort sein (ich weiß nicht, ob Sie Ihre eigene Antwort akzeptieren können)
user2518618
2
tat, schamlos ...: D
Phyo Arkar Lwin
7

Abiword kann von der Kommandozeile aus beliebige bekannte Dateiformate konvertieren.

Konvertieren von Word in einfachen Text:

abiword --to=txt myfile.doc

Erstellen Sie ein PDF aus einer Word-Datei:

abiword --to=pdf myfile.doc

Und so weiter. Die Ergebnisse in diesen Fällen wären myfile.txt oder myfile.pdf. Wenn Sie den Ausgabenamen angeben möchten, können Sie dies auch tun:

abiword --to=txt --to-name=output.txt myfile.doc

ODT in Word konvertieren:

abiword --to=doc myfile.odt

Word in ODT konvertieren:

abiword --to=odt myfile.doc

Um anderen Antworten gerecht zu werden, sollte beachtet werden, dass AbiWord wvWare verwendet, um Word-Dokumente zu verarbeiten, aber auch die wvWare-Homepage empfiehlt, für die meisten Konvertierungen stattdessen AbiWord zu verwenden.

Ich hasse Textverarbeitungsprogramme. Dies ist der Hauptgrund, warum ich AbiWord installiert habe.

Sie könnten auch an unoconv interessiert sein , einem ähnlichen Tool, das OpenOffice-Formate unterstützt (einschließlich Tabellenkalkulationen und Ähnlichem), aber ich habe keine persönlichen Erfahrungen damit.

schäbig
quelle
Für .docx-Dokumente ist es ein Chaos: S Aber eine schöne Lösung für .doc
Warface
3

Mit LibreOffice können Sie:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt
Dorian
quelle
4
Sie können den Textfilter verwenden, um nach txt zu konvertieren: libreoffice --invisible --convert-to-txt: Textdateien
Gagaro
0

Sie können CUPS (virtueller Drucker) und ld verwenden.

ukanth
quelle
Interessant, kann das druckbare Inhalte in PDF konvertieren? Kannst du mir das zeigen und zum Beispiel für Doc oder Xls machen?
Phyo Arkar Lwin
0

wv ist eine Option und IIRC OpenOffice kann über die Befehlszeile angewiesen werden, als PDF zu exportieren und zu beenden.

ptman
quelle
unoconv scheint das OpenOffice-bezogene Tool zu sein, an das ich mich nicht erinnern konnte.
ptman
0

1.doc catdoc oder antiword für die Konvertierung von doc-Dateien können Sie den folgenden Befehl verwenden: catdoc file.doc> file oder antiword file.doc> file

  1. docx docx2txt

  2. pdf emacs datei.pdf strg-x strg-s datei

Linuxant
quelle
(1) Catdoc wurde in einer Antwort vorgeschlagen, die innerhalb einer Stunde nach Beantwortung der Frage vor fast drei Jahren veröffentlicht wurde. Warum wiederholst du es? (2) Wo kann man Antiword bekommen? (3) Was bedeutet die untere Hälfte Ihrer Antwort?
Scott
-1

Docsplit ist das perfekte Tool, um den Text aus PDF zu extrahieren. Es ist ein Rubinjuwel. Deshalb sollten Sie Ruby und Gem in Ihrem Linux-System installieren, bevor Sie den Befehl docsplit verwenden.

Wenn Ihr System nicht über Rubin und Edelstein verfügt, befolgen Sie die Anweisungen.

Sie müssen root sein, um die Software zu installieren (vorausgesetzt, Sie möchten, dass sie allen Benutzern zur Verfügung steht).

Installieren Sie den Ruby unter Linux: yum install ruby
Installieren Sie den Edelstein, laden Sie das neueste Edelsteinpaket herunter und folgen Sie den Anweisungen

tar xzf rubygems-xxxx.tgz
cd rubygems-xxxx
ruby setup.rb

Nachdem RubyGems installiert wurde, sollten Sie den Befehl gem haben (gem ist der Befehl, der für die Interaktion mit dem RubyGems-Paketsystem verwendet wird). Testen Sie es mit:

Edelsteinliste

Fahren Sie nun mit dem nächsten Schritt fort, um das docsplit gem zu installieren, und rufen Sie die folgende Site auf. http://documentcloud.github.com/docsplit/

Herr Schwarz
quelle
Dies ist das genaue Gegenteil von dem, was das OP verlangt.
CarlF