# OpenOffice Writer in Java einbinden



## freddyonjava (7. Dez 2010)

Hallo,

ich suche ein Beispiel (Codebeispiel/Tutorial), wie man den Writer von Open Office in eine Java Applikation einbinden kann.

 Bin für eure Hinweise dankbar.


----------



## Tobse (7. Dez 2010)

Das KANN nicht klappen. Deine Anwendung kann nicht einfach davon ausgehen, dass OpenOffice installiert ist. Ich wüsste auch nicht, wie du dann auf Textinhalt und den kram zugriffen willst.
Du kannst höchsten bei denen den Sourcecode anfordern und ihn dann anpassen.


----------



## Gastredner (7. Dez 2010)

SWT bietet eine Oberflächenkomponente namens OLEContainer (oder so), mit deren Hilfe du andere Anwendungen in deine einbetten kannst (Eclipse tut dies in neueren Versionen bspw. auch - einfach mal bei installiertem OOo in einem Eclipse-Projekt eine OpenDocument-Datei öffnen).
Sofern es dir also möglich wäre, SWT (zumindest für Teile der GUI, am besten dann aber direkt für die Ganze) einzusetzen, könnte es gehen.

Alternativ gäbe es dann noch Bibliotheken, mit denen du OpenDocument-Dateien modifizieren und wohl auch mit OOo kommunizieren kannst (UNO?). Damit kenne ich mich allerdings nicht aus.


----------



## Wildcard (7. Dez 2010)

OpenOffice bietet eine Java Bean mit der du den Writer sehr einfach auf ein AWT Panel platzieren kannst.
Das geht primär mit der OpenOffice API UNO, allerdings ist UNO etwas unhandlich ich würde daher eher zum UNO Wrapper Nice Office Access (NOA) greifen. Dort sind auch Snippets enthalten wie den Writer embeddest.



> Ich wüsste auch nicht, wie du dann auf Textinhalt und den kram zugriffen willst.


Das ist überhaupt kein Problem da die NOA/UNO API Vollzugriff auf OpenOffice gewährt.


----------



## freddyonjava (7. Dez 2010)

danke für die Antworten. Bei NOA bin ich auch schon gelandet ... Kann mir mal jemand verraten, wie ich das vernünftig in Eclipse importiere, sodass ich ein snippet mal ausporbieren kann. Ich komme da nicht weiter.. Also ich habe ein neues Projekt in Eclipse angelegt und ich habe mir NOA heruntergeladen (ag.ion.noa-src-2.2.3). Wie importiere ich das jetzt am besten ????


----------



## Wildcard (7. Dez 2010)

Hmm, warum den src? Lade dir doch die binaries herunter.
Einfach ein neues Projekt anlegen, dort zB ein Verzeichnis 'lib' anlegen.
Dort entpackst du dann noa und nimmst die jars in den Classpath auf. Schon kannst du die Snippets ausprobieren.


----------



## freddyonjava (7. Dez 2010)

okya danke ...habe es so hinbekommen: noa in workspace exportiert und dann den namen des entpackten ordners als neues Projekt hinzugefügt:

habe ich noch angepasst

```
private final static String OPEN_OFFICE_ORG_PATH = "C:\\Programme\\OpenOffice.org 3";
```

Leider kommt so ne Fehlermeldung:

07.12.2010 22:51:32 ag.ion.bion.officelayer.internal.application.connection.LocalOfficeConnection openConnection
INFO: Opening local OpenOffice.org connection.
ag.ion.bion.officelayer.document.DocumentException: URL seems to be an unsupported one.
	at ag.ion.bion.officelayer.internal.document.DocumentService.loadDocument(DocumentService.java:253)
	at Snippet10.main(Snippet10.java:83)
Caused by: com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.
	at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182)
	at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
	at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344)
	at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313)
	at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101)
	at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
	at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
	at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
	at $Proxy3.loadComponentFromURL(Unknown Source)
	at ag.ion.bion.officelayer.internal.document.DocumentLoader.loadDocument(DocumentLoader.java:226)
	at ag.ion.bion.officelayer.internal.document.DocumentLoader.loadDocument(DocumentLoader.java:116)
	at ag.ion.bion.officelayer.internal.document.DocumentLoader.loadDocument(DocumentLoader.java:92)
	at ag.ion.bion.officelayer.internal.document.DocumentService.loadDocument(DocumentService.java:246)
	... 1 more

Was kann ich machen ???


----------



## freddyonjava (8. Dez 2010)

okay habe einfach den Pfad zum odt falsch angegeben -- jetzt läuft alles

Kann mir mal jemand verraten, wie ich die Menüleiste von Open Office ausblenden kann?


----------



## Wildcard (8. Dez 2010)

Layout elements - NOA Documentation Wiki


----------

