OpenOffice Writer & Java

B

Benni87

Hallo,
ich bin derzeit an der Entwicklung einer Schnittstelle zwischen dem OpenOffice Writer und "meiner" Software. Derzeit stehe ich jedoch vor zwei Problemen, die sich bisher nicht lösen lassen haben und auch der Besuch bei dem Freund und Helfer google war bislang erfolglos.

Zunächst einmal der Programmcode der bisherigen Anwendung:

Methode startOOWriter:
Java:
public static XComponent startOOWriter(String ooWriterPfad) {
		// Bootstrapkomponenten laden
		XComponentContext xCompCont = null;
		try {
			xCompCont = BootstrapSocketConnector.bootstrap(ooWriterPfad);
		} catch(BootstrapException ex) {
			ex.printStackTrace();
		}
		if(xCompCont != null) {
			try {
				// Servicemanager holen
				XMultiComponentFactory xMultiComFac = xCompCont.getServiceManager();
				// Desktopinstanz erstellen
				Object xDesk = xMultiComFac.createInstanceWithContext(
						"com.sun.star.frame.Desktop", xCompCont);
				// neues Loader-Objekt mithilfe des Desktops erstellen
				XComponentLoader oComponentLoader = (XComponentLoader) UnoRuntime.queryInterface(
						XComponentLoader.class, xDesk);
				// ein schwarzes Writer-Dokument erstellen
				XComponent xComp = oComponentLoader.loadComponentFromURL(
						"private:factory/swriter",  // neues Dokument 
						"_blank",                   // neues Frame
						0,                      	// keine Suchflaggs
						new PropertyValue[0]);		// mehr nicht
				return xComp;
			} catch(Exception ex)
			{
				System.out.println("Open Office Writer konnte nicht geöffnet werden!");
				System.out.println(ex.getMessage());
			}
		}
		return null;
	}

Methode createXTextDocument:
Java:
	public static XTextDocument createXTextDocument(XComponent xComp) {
		// Textdokument mithilfe des XComponent holen
		XTextDocument xTextDoc = (XTextDocument)
		UnoRuntime.queryInterface(XTextDocument.class, xComp);			
		return xTextDoc;
	}

Nun will ich damit 2 verschiedene Dinge machen:
1. Ich möchte das Writer-Dokument nicht als .odt abspeichern (was ich bereits könnte) sondern sofort als PDF-Datei exportieren und als solche abspeichern.
2. Ein finaler Einsatz wird das Erstellen eines Serienbriefes mittels dieser Schnittstelle sein. Die Adressdaten der Kunden kommen dabei eben von "meiner" Software. Wie ich jedoch die Serienbrief-Funktion des Writers zu meinem Nutzen verwenden kann, weiß ich noch nicht.

Ich würde mich über jegliche Hilfen bezüglich dieser beiden Punkte sehr freuen.
Vielen Dank im Vorraus
MfG
Benni
 
Zurück