Tuesday, 19. September 2017, 20:31

Menü
myStartpage
myCoding
myHowtos
- OpenVPN auf Debian
- Ubuntu ADS Integration
- Mutt mit Maildir Format
- Tipps Kismet
- Snort auf Ubuntu 10.04
- Apache AD Integration
- Linux Tools
- JVM Tuning
- OpenOffice und Java
- ownCloud und Apps
- Mint 16 Bluetooth File
myRCPlanes
myRobots
myZitate
myImpressum
myStarter
myPics
OpenOffice und Java

OpenOffice hat einen sogenannten Headless Mode indem es ohne grafische Oberfläche startet und für diverse Dienste bereit steht. Ich werde hier anhand eines PDF Converters die Funktionalität erklären.

Gestartet wird OpenOffice unter Linux im Headless Mode so:

./soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
Danach hört der Dienst auf Port 8100 auf dem lokalen Rechner.

Ich habe das Service mittels JODConverter, also einer third party library, implementiert.
Damit ist es innerhalb weniger Codezeilen möglich den Server zu nutzen:

import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.*;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
import java.io.File;
import java.net.ConnectException;
import java.util.logging.Level;
import java.util.logging.Logger;

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
String strinputFile = "/home/gateway/test.doc";
String stroutputFile = "/home/gateway/test.pdf";
File inputFile = new File(strinputFile);
File outputFile = new File(stroutputFile);

try {
   connection.connect();
} catch (ConnectException ex) {
   Logger.getLogger(PDFConverter.class.getName()).log(Level.SEVERE, null, ex);
}

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
connection.disconnect();


Ihr könnt euch meine Beispielanwendung als Netbeansprojekt herunterladen. Damits klappt muss man den JODConverter runterladen und den entsprechenden Pfad in Netbeans anpassen.

Websitebaker is Free Software released under the GNU/GPL License. - design by masterhomepage.ch