Primer paso
primeros pasos de Python en inciar y conectarnos a OpenOffice.org
En OpenOffice.org amamos a python, tanto es que incluimos toda una distribucion de python dentro de OpenOffice.org junto con un modulo que funciona de puente (bridge) entre nuestro API llamado UNO y el mundo de python. Lo llamamos PYUNO.
UNO contine una serie de servicios e Interfaces que interactuan entre si. La manipulación de OpenOffice.org depende de saber interactuar con estas interfaces y servicios.
Algo que haremos aqui es poder iniciar a OpenOffice.org con modalidad de servidor, donde tenga un puerto abierto para recibir instrucciones desde fuera. Python empujara estas instrucciones y se logrará el ambiente remoto que se necesita para poder interactuar "en vivo" con OpenOffice.org.
Iniciar OpenOffice.org desde python
Para Iniciar openoffice.org en modo de servidor, se abre un puerto mientras corre la suite y esta se especifica el servicio al que recibira los comandos.
openoffice -accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"
Puedes tambien iniciar OpenOffice.org como un tipo de parametros al comando de inicio.
/usr/bin/openoffice -accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" -norestore -nofirstwizard -nologo -headless
Conectarse a OpenOffice.org via Python
Para este paso iniciar Python e importar el modulo de UNO, despues importar el OpenOffice.org component context. Para conectarnos al programa necesitamos llamar el servicio de UnoUrlResolver y cargar el contexto el cual estas conectado y puedes accesar via el mecanismo de API.
$ python
>> import uno
>> local = uno.getComponentContext()
>> resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
>> context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")


Ejecutar OpenOffice en Ubuntu
openoffice.org -accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"
ó
/usr/bin/openoffice.org -accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" -norestore -nofirstwizard -nologo -headless