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
559
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
Veroaste on Suomessa viitisen prosenttiyksikköä liian matala
Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka672405- 661387
Kyläkauppias ajoi kännissä töistä kotiin
Ei edes kallis auto estä humalassa ajamista, vaikka luulisi alkolukko olevan sellaisessa jo vakiovarusteena. https://ww751200EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!
Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje41117- 79845
Kiitos upeasta palvelusta kukkamyyjä
Kiitos sinulle upea kaunis kukkamyyjä Kuhmon torilla 🌹 Upea iloinen asenteesi ja kaunis hymysi pelasti päiväni ❤️ Jäi19790- 43678
Ratikka Turkuun
Ei hyvä. Ja syy on siinä , kukaan ei osaa suunnitella oikeaa reittiä. Pitää huomioide, kiskoja sijaintia ei voi muutta83672Miehet trikoissaan
On se kauhian näkköistä, kun miehet tiukossa trikkoissa juoksentelloo ja mulukku paestaa trikkoijjen läpi. Kahtokkee pe25649- 30636