# API für MS-Word



## donatello (13. Mrz 2006)

hallo,

wisst ihr von einer API, mit deren Hilfe ich Worddokumente (.doc, .rtf) auslesen kann? Formatierungen sind unwichtig, es geht nur um den Text...
ist nämlich Teil für eine Schularbeit, konkret geht es beispielsweise um die Anzahl der Hauptwörter, kA ob das alternativ auch auslesen ist?

es gibt zwar meines Wissens eine API zum Arbeiten mit .xls Dokumenten, allerdings nicht für .doc  :bahnhof: 

mfg donatello


----------



## Jockel (13. Mrz 2006)

Google wirft doch ein paar Links aus, z.B.: http://schmidt.devlib.org/java/libraries-word.html


----------



## L-ectron-X (13. Mrz 2006)

Kann auch sein, dass du was in der JLiB findest.


----------



## kaie (15. Mrz 2006)

Warum werden hier immer riesige fertige Libraries angepriesen? Wenn es wirklich nur um das Einlesen des reinen Textes einer RTF-Datei geht, geht das in wenigen Zeilen, direkt mit den Klassen des JDK. Hier zum Beispiel eine Klasse, die den Text einer RTF-Datei einliest und alle Wörter zählt:

```
import java.io.*;
import java.util.*;

import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.text.rtf.*;

public class WortZaehler
{
    public static void main(String[] args) throws Exception
    {
        String dateiname = "c:\\test.rtf";
        // Text einlesen
        StyledDocument doc = new DefaultStyledDocument();
        new RTFEditorKit().read(new FileReader(dateiname),doc,0);
        String s = doc.getText(0,doc.getLength());
        // Ausgabe
        int worte = new StringTokenizer(s," \n\t",false).countTokens();
        System.out.println(s);
        System.out.println("\nAnzahl Worte: "+worte);
    }
}
```
Lustigerweise stimmt das Ergebnis tatsächlich exakt mit der Zahl überein, die mir MSWord beim Zählen liefert. Wenn Du den String nun erstmal hast, sollte es ja auch eigentlich kein Problem sein, ihn weiter zu analysieren und die Informationen herauszulesen, die Du brauchst. Viel Erfolg!

*KaiE*


----------



## AlArenal (15. Mrz 2006)

RTF ist nicht DOC und der Fragesteller fragte nach DOC....


----------



## kaie (15. Mrz 2006)

Ich dachte eigentlich, der Fragesteller fragte nach Worddokumente (.doc, .rtf), und ich bin einmal ganz naiv davon ausgegangen, dass ihm _eines_ von beiden Formaten reichen würde, um seine Wortzählungen durchzuführen.

Wenn zwischen *".doc"* und *".rtf"* ein implizites *&&* stehen sollte, hast Du natürlich vollkommen Recht, und ich entschuldige mich in aller Form für meine ausgesprochen dumme und unangebrachte Antwort. 

Aber praktisch finde ich das obige Beispiel trotzdem!


----------



## donatello (28. Mrz 2006)

fakt ist, dass beide Formate unterstützt werden sollten.
daher sag ich mal danke für die RTF-Lösung, funktioniert toll so!

hab mal mit meinem Lehrer gesprochen, er meint .doc Files könnte ich über OLE ansprechen, nur hab ich von diesem Bereich absolut keine Ahnung


----------



## abollm (28. Mrz 2006)

donatello hat gesagt.:
			
		

> fakt ist, dass beide Formate unterstützt werden sollten.
> daher sag ich mal danke für die RTF-Lösung, funktioniert toll so!
> 
> hab mal mit meinem Lehrer gesprochen, er meint .doc Files könnte ich über OLE ansprechen, nur hab ich von diesem Bereich absolut keine Ahnung



Schau hier einmal nach. Vielleicht kommst du damit weiter:

http://www.infozoom.de/de_jacoZoom.shtml


----------

