Nach Upload von Dokument Wörter zählen (.doc, .txt, .pdf, .odt, .html)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nach Upload von Dokument Wörter zählen (.doc, .txt, .pdf, .odt, .html)

    Hallo,

    ich stehe im Moment vor der Aufgabe den Usern einer Website die möglichkeit zu bieten ein Dokument anzugeben (upzuloaden) und anschliessend die Anzahl der Wörter des Dokuments zu sehen.

    Es soll sich hierbei um die Dateiformate .doc, .txt, .pdf, .odt, sowie .htm(l) handeln.

    Als ersten Ansatz und direkten Angriff dachte ich mit einer simplen Zählung der leerzeichen ans Ziel zu kommen, jedoch sind die Ergebnisse nach der Berechnung alles nur nicht Korrekt. Sofern sich das Dokument wie .pdf überhaupt öffnen lässt.

    Mittlerweile denke ich das der Weg folgender wäre (und hier bin ich mir nicht sicher, weder in der Theorie, noch in der Ausführung):
    Dokument Uploaden --> Je nach Dateityp parsen --> Konvertieren nach text --> text "schrumpfen" (alle leerzeichen falls mehrere hintereinander folgen entfernen) --> endlich die Zählung (spaces od. wörter falls das auch gleich geht).

    Kennt jemand eine "schlüsselfertige Lösung" für das Problem, bzw hat sonst eine Idee die mich dem Ziel näher bringen könnte.
    Durchfaste seit ein paar Tagen alle mir bekannten scriptresourcen und ähnliches, aber entweder bin ich schon betriebsblind oder bewege mich überhaupt in die falschen Richtung.

    Danke & LG Rob

  • #2
    http://de.php.net/manual/de/function.str-word-count.php
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Super, damit entfällt auf jeden Fall schonmal der Schritt des Leerzeichen-entfernens!

      Bleibt mir noch folgendes Rätsel offen:

      1. Kann PHP jedes der obig genannten Dateiformate nach einem Upload "öffnen" und mit der von usenet genannten Möglichkeit die Wörter zählen? Bei html, rtf, doc und pdf muss ja zunächst doch ein ganzer haufen nicht "Textrelevantes" zeugs entfernt werden um nur geschrieben Text zählen zu können oder?

      Sry auch hier nochmal für den Cross-Post im Script-gesuche, dachte es ist kein Problem hier nach Hilfen bez. der Entwicklung und im Script-Gesuche nach einer schon vorhanden Lösung (falls es diese gibt) zu fragen.

      Danke & LG Rob

      Kommentar


      • #4
        PDFs kann PHP mit der PDFlib lesen, such halt in der Dokumentation nach PDF. Und auch für allen anderen Krempel gibt es Script - AFAIK auch in den PEAR-Repos.

        Such doch einfach mal ...
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          OffTopic:
          Man könnte auch eine X Session starten in der man mit OOo die Datei öffnet. Dann Screenshots davon machen, die alle in ein Bild mergen, die nicht relevanten Teile mit ImageMagick herausschneiden und daraus eine Ghostscript Datei machen. Die kann man dann bestimmt durch eine OCR Software jagen.


          Oder den Vorschlag von unset übernehmen, der is auch nicht schlecht.

          Kommentar


          • #6
            Danke für die Antworten.. Dann werd ich mir mal die Sachen zusammensuchen...

            LG Rob

            Kommentar


            • #7
              Sinn macht das Ganze eigentlich nur bei reinen Text-Dateien, auch str_word_count()funktioniert wahrscheinlich nur dort. Schon bei html wird's schwierig, sind jetzt HTML-Tags Wörter oder nicht, ist «hallo<br>kabularasa» ein Wort, oder zwei oder drei (für den guten alten vi-Editor sind es 5)? Bei den übrigen Typen müstest das genaue Format, kennen, um den reinen Text extrahieren zu können. pdf- und odt-Formate sind ja bekannt, der Parser dürfte aber trotzdem recht aufwändig werden. Und die entsprechenden Daten von MS dürftest nur mit einem COM-Objekt erhalten.
              Gruss
              H2O

              Kommentar


              • #8
                Also wenn es sich um ein großes Projekt handelt, und die exakte Wörterzählung sehr, sehr wichtig ist, würde ich die Wortzählung von OpenOffice vornehmen lassen, notfalls auf einem eigenen Server. (Kenne mich mit OpenOffice-Automatisierung aber nicht aus, weiß nicht ob das von PHP aus problemlos geht.) Bei der Parserei hätte ich Angst vor Fehlern.

                Ansonsten: Word-Dokumente rippen kann Antiword.

                Kommentar

                Lädt...
                X