2009-05-20 14 views
1

Ich verwende derzeit eine Kombination von OpenOffice-Makros und einem pdf2text-Programm, um Text zu extrahieren und möchte einen einfacheren, effizienteren Weg finden, den Text aus einer PowerPoint-Datei zu erhalten.Extrahieren Sie Text aus einer PowerPoint-Datei (.ppt oder .pptx)?

Ich habe versucht, mit der Apache POI-Bibliothek und hatte nicht viel Glück, stieß auf zahlreiche Ausnahmen in der Bibliothek beim Versuch, die Dateien zu verarbeiten, die ich betrachte und nicht besonders durch den Quellcode von zu durchsuchen die Bibliothek.

Gibt es einen einfachen Weg, dies ohne die oben genannte Bibliothek zu tun?

Antwort

1

Wenn Sie MS Office haben und Sie die PPT im RTF (Rich Text Format) speichern, enthält es nur den Text aus der Präsentation. Sie könnten die Datei dann in einem beliebigen Editor öffnen, der RTF-Dateien versteht und als Textdatei (TXT) speichern.

Ich erwarte, dass dies auch von Open Office funktioniert.

Da Sie von API sprechen, ist dies möglicherweise nicht der Weg für Sie, aber vielleicht gibt es Ihnen neue Ideen auf dem Weg dorthin. Sprich: Sie mehrere Makros verwenden, um die Umwandlung in Stufen zu tun ...

Edit: Ich wurde neugierig und haben eine kurze Google-Suche

das, was ich auf one of the www.openoffice.org pages gefunden ist

Da die Menschen in Dieser Thread hat darauf hingewiesen, das Abrufen von Text aus einem OO Dokument ist nicht schwer, da es nur gezippte XML ist, die mit einem Perl-Skript geparst werden kann. Das Problem besteht darin, Microsoft Powerpoint-Dokumente zuerst in ein gezipptes XML-Format in ein zu bekommen.

Ich habe festgestellt, dass Datei -> Assistenten -> Document Converter genau das tut. Sagen Sie einfach, dass Sie PowerPoint-Dokumente konvertieren möchten, nicht Vorlagen, zeigen Sie es auf Ihr Quellverzeichnis und wo Sie möchten, dass es das Ergebnis ausspuckt und Sie sind weg.

Ich finde dann unzip -p $ file.sxi content.xml | perl -p -e "s/< [^>] >/\ n/g; s/+ //; s/\ n \ n/\ n/g;" -w

funktioniert eher gut zum Extrahieren des Textes.

Entschuldigung, ich habe kein Open Office, um das auszuprobieren.

+0

speichern, da RTF nicht funktioniert. Es scheint nur einen Index der Folien in der Datei zu speichern – ekkis

1

pptx-Dateien sind relativ einfach zu handhaben, weil sie nur gezippt xml sind - Sie können sie einfach entpacken und dann entfernen Sie alle XML-Tags aus dem Inhalt der Dateien im Unterverzeichnis 'ppt/slides' des entpackten Zeug , die den meisten relevanten Text ergeben.

PPT - Dateien sind ein ganz anderes Ballspiel, und der Prozess wird noch schmerzhafter, weil das kanonische Werkzeug catppt aus dem catdoc - Paket einem Pufferüberlauf ausgesetzt ist, der es nahezu unbrauchbar macht PPT-Dateien).

Verwandte Themen