Moi!
Minulla on siis java-ohjelma, josta haluaisin saada open officen käyntiin ja mieluiten vielä niin, että uuden dokumentin alkuun tulisi tietty ohjelman määräämä teksti. Onko mitään keinoa?
Kiitos avusta!
Javalla open office käyntiin
3
437
Vastaukset
- keksa1
voisit kaynnistaa openoffice.exen vaikka javan system tai exec-komennoilla.
sitten tarkistat openoffice.exen voiko sille antaa parametreja esim.
openoffice.exe tiedosto.doc "Terve kaikki!"- Foobarfoo
Oli sevverran mielenkiintoinen kysymys et oli pakko kokeilla ja tehdä oma esimerkkiohjelma (joka löytyy seuraavasta viestistä). Joudut melko varmasti muokkaan ohjelmaan mut toivottavasti pääset edes alkuun. Seuraavat jarrit tarvitaan: ridl.jar, unoloader.jar, jurt.jar, juh.jar, unoil.jar ja bootstrapconnector.jar
- foobarfoo
Foobarfoo kirjoitti:
Oli sevverran mielenkiintoinen kysymys et oli pakko kokeilla ja tehdä oma esimerkkiohjelma (joka löytyy seuraavasta viestistä). Joudut melko varmasti muokkaan ohjelmaan mut toivottavasti pääset edes alkuun. Seuraavat jarrit tarvitaan: ridl.jar, unoloader.jar, jurt.jar, juh.jar, unoil.jar ja bootstrapconnector.jar
import ooo.connector.BootstrapSocketConnector;
import com.sun.star.beans.PropertyValue;
import com.sun.star.comp.helper.BootstrapException;
import com.sun.star.text.XText;
import com.sun.star.text.XTextDocument;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.util.XCloseable;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.frame.XStorable;
public class OOTest {
public static void main(String[] args) {
try {
// Luodaan yhteys sofficeen
String sofficeLocation = "/usr/lib/openoffice/program/";
XComponentContext xcontext = BootstrapSocketConnector.bootstrap(sofficeLocation);
XMultiComponentFactory xMCF = xcontext.getServiceManager();
Object oDesktop = xMCF.createInstanceWithContext(
"com.sun.star.frame.Desktop", xcontext);
XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime
.queryInterface(com.sun.star.frame.XComponentLoader.class,
oDesktop);
// Tiedoston luonti
XComponent document = xComponentLoader.loadComponentFromURL("private:factory/swriter",
"_blank", 0, new PropertyValue[0]);
XTextDocument textDocument = (XTextDocument) UnoRuntime
.queryInterface(com.sun.star.text.XTextDocument.class,
document);
XText teksti = textDocument.getText();
// Lisataan tekstia
teksti.insertString(teksti.getEnd(), "TERVE MAAILMA!!1", false);
//Tallennetaan
XStorable xStorable = (XStorable) UnoRuntime.queryInterface(
XStorable.class, document);
PropertyValue[] storeProps = new PropertyValue[0];
xStorable.storeAsURL("file:///tmp/java_testi.odt", storeProps);
//Suljetaan
XCloseable xcloseable = (XCloseable) UnoRuntime.queryInterface(
XCloseable.class, document);
xcloseable.close(false);
} catch (BootstrapException e) {
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Naiset miltä kiihottuminen teissä tuntuu
Kun miehellä tulee seisokki ja ja sellainen kihmelöinti sinne niin mitä naisessa köy? :)1108276- 392529
- 1212253
- 221919
Miksi kohtelit minua kuin tyhmää koiraa?
Rakastin sinua mutta kohtelit huonosti. Tuntuu ala-arvoiselta. Miksi kuvittelin että joku kohtelisi minua reilusti. Hais151654- 111489
Kyllä poisto toimii
Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa161442"Joka miekkaan tarttuu, se siihen hukkuu"..
"Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla141389- 151272
Kristityt "pyhät"
Painukaa helvettiin, mä tulen sinne kans. Luetaan sitten raamattua niin Saatanallisesti. Ehkä Piru osaa opetta?!.121183