User Tools

Site Tools


pyuno

오픈오피스 파이썬확장 수련

install

다음 패키지 설지:

$ sudo apt-get install python-uno

오픈오피스는 아래 위치에 설치되어 있음:

/usr/lib/openoffice/

다음 명령어로 동적 라이브러리 갱신 필요?

$ sudo ldconfig -v /usr/lib/openoffice/program

hello world

우선 오픈오피스를 다음처럼 실행

soffice "-accept=socket,host=localhost,port=2002;urp;"

다음으로 아래의 코드 실행

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import uno
 
localContext = uno.getComponentContext()
resolver = localContext.ServiceManager.createInstanceWithContext(
				"com.sun.star.bridge.UnoUrlResolver", localContext )
ctx = resolver.resolve( "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" )
smgr = ctx.ServiceManager
desktop = smgr.createInstanceWithContext( "com.sun.star.frame.Desktop",ctx)
model = desktop.getCurrentComponent()
text = model.Text
cursor = text.createTextCursor()
text.insertString( cursor, "한글로 안녕~".decode('utf-8'), 0 )
 
ctx.ServiceManager

ooclac

그냥 ooclac 실행하고 해도 되나??

#!/usr/bin/python
 
import uno
localContext = uno.getComponentContext()
resolver = localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", localContext )
ctx = resolver.resolve( "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" )
smgr = ctx.ServiceManager
desktop = smgr.createInstanceWithContext( "com.sun.star.frame.Desktop",ctx)
oDoc = desktop.getCurrentComponent()
 
# sheet to be activated
oSheet = oDoc.getSheets().getByIndex(2)
 
# activate the sheet
oController = oDoc.getCurrentController()
oController.setActiveSheet(oSheet)
 
# set first visible row
oController.setFirstVisibleRow(3)

ooimpress

UNO service : com.sun.star.presentation.SlideShow

references

pyuno.txt · Last modified: 2013/08/03 05:04 (external edit)