pyuno
Table of Contents
오픈오피스 파이썬확장 수련
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
- OpenOffice another good reference
- select (activate) a sheet in openoffice calc by python code oocalc 예제 많음!!
pyuno.txt · Last modified: 2013/08/03 05:04 by 127.0.0.1