Onkel Hotte: Text aus Word-Dokumenten extrahieren

Mahlzeit,

kennt jemand eine Möglichkeit, aus Word-Dokumenten (herkömmlichen .doc, kein .docx) den Text zu extrahieren? Ich brauche keine Formatierungen bzw. will sie auch gar nicht haben, lediglich den reinen Text, so, wie man ihn bekommt, wenn man aus einer Office-Anwendung über die Zwischenablage in einen Texteditor kopiert.

Die Software sollte quelloffen sein, kein Windows voraussetzen und auch sonst möglichst einfach strukturiert sein, damit nicht noch ein Dutzend Bibliotheken installiert werden müssen.

Ich habe bislang lediglich PHP-Skripte gefunden, die aber nicht praktikabel sind, da sie samt und sonders COM-Dienste voraussetzen.

Alternativ: Kennt jemand eine rudimentäre Beschreibung des .doc-Dateiformats?

  1. Hi Onkel,

    Alternativ: Kennt jemand eine rudimentäre Beschreibung des .doc-Dateiformats?

    Die Spezifikationen für die alten Microsoft Dateiformate, hat Microsoft letztes Jahr veröffentlicht. In dieser PDF findest du alles dokumentiert. Allerdings ist das so umfangreich, dass du das wohl kaum implementieren willst, schätze ich.

    Eine Software, die dir einfach nur den Text extrahiert ist mir nicht bekannt. Spontan würde ich da einfach ein ODT Dokument draus machen und mir aus diesem die gewünschten Informationen holen, das sollte nicht allzu kompliziert sein.

    Viele Grüße,
      ~ Dennis.

    1. »» Alternativ: Kennt jemand eine rudimentäre Beschreibung des .doc-Dateiformats?

      Die Spezifikationen für die alten Microsoft Dateiformate, hat Microsoft letztes Jahr veröffentlicht.

      Danke, das hilft mir weiter!

      Mir war schon aufgefallen, dass der Text nahezu roh in einem großen Stück in der Datei steht, nur leider mit Binärdaten davor und immer wieder unterbrochen durch unterschiedliche Kodierungen (konkret mal 8 Bit, mal 16 Bit pro Zeichen) und (vermutlich) haufenweise Füllbytes.
      „Irgendwie“ den Text zu extrahieren sollte damit zwar selbst ohne Dokumentation kein Aufwand sein, ich wollte es aber gerne ordentlich haben, ohne Überraschungen.

      Spontan würde ich da einfach ein ODT-Dokument draus machen und mir aus diesem die gewünschten Informationen holen, das sollte nicht allzu kompliziert sein.

      Dann bräuchte ich irgendwas, um auf Shell/bash-Ebene .doc in .odt umzuwandeln, denn die Word-Dokumente mit OpenOffice laden, also manuell eingreifen, wollte ich in Zukunft nicht mehr. Hintergrund ist, dass die Word-Teile regelmäßig per Mail kommen; der Text darin soll gleich in der Weiterverarbeitung erscheinen und nicht erst von Hand umkopiert werden müssen.

      Aber mit der Anleitung kann ich mir ja jetzt was basteln.

      1. Hi Onkel,

        Dann bräuchte ich irgendwas, um auf Shell/bash-Ebene .doc in .odt umzuwandeln, denn die Word-Dokumente mit OpenOffice laden, also manuell eingreifen, wollte ich in Zukunft nicht mehr. Hintergrund ist, dass die Word-Teile regelmäßig per Mail kommen; der Text darin soll gleich in der Weiterverarbeitung erscheinen und nicht erst von Hand umkopiert werden müssen.

        Ich bin gerade noch auf unoconv gestoßen, was wohl zwischen allen von OpenOffice unterstützten Formaten hin und her konvertieren kann. Zumindest für Debian und Ubuntu Derivate gibt es das auch über Aptitude zu installieren. Allerdings greift unoconv auf ein installiertes OpenOffice zurück, welches wahrscheinlich eine installierte Desktop-Umgebung voraussetzt und damit für Server dann schon wieder uninteressant wäre. Ob das allerdings wirklich notwendig ist, müsste man sich mal noch genauer ansehen, ich habs nur überflogen.

        Wenn du mal ein ODT Dokument hast, dann wäre vermutlich odt2txt was für dich - ein passendes Pendant für DOC habe ich allerdings, ebenso wie du, nicht gefunden, zumindest keines, was nicht über COM auf ein installiertes Word zurückgreift.

        Viele Grüße,
          ~ Dennis.